Skip to content

Nautobot Function Codes API Package

nautobot_function_codes.api

REST API module for nautobot_function_codes app.

serializers

API serializers for nautobot_function_codes.

DeviceFunctionCodeAssignmentSerializer

Bases: ValidatedModelSerializer

Serialize DeviceFunctionCodeAssignment records for the REST API.

Source code in nautobot_function_codes/api/serializers.py
class DeviceFunctionCodeAssignmentSerializer(ValidatedModelSerializer):
    """Serialize DeviceFunctionCodeAssignment records for the REST API."""

    def validate_function_code(self, value):
        """Reject inactive Function Codes for new assignments."""
        validate_function_code_for_assignment(value)
        return value

    class Meta:
        """Meta attributes."""

        model = models.DeviceFunctionCodeAssignment
        fields = [
            "id",
            "url",
            "display",
            "natural_slug",
            "device",
            "function_code",
        ]
Meta

Meta attributes.

Source code in nautobot_function_codes/api/serializers.py
class Meta:
    """Meta attributes."""

    model = models.DeviceFunctionCodeAssignment
    fields = [
        "id",
        "url",
        "display",
        "natural_slug",
        "device",
        "function_code",
    ]
validate_function_code(value)

Reject inactive Function Codes for new assignments.

Source code in nautobot_function_codes/api/serializers.py
def validate_function_code(self, value):
    """Reject inactive Function Codes for new assignments."""
    validate_function_code_for_assignment(value)
    return value

FunctionCodeSerializer

Bases: NautobotModelSerializer

Serialize FunctionCode records for the REST API.

Source code in nautobot_function_codes/api/serializers.py
class FunctionCodeSerializer(NautobotModelSerializer):
    """Serialize FunctionCode records for the REST API."""

    device_count = serializers.IntegerField(read_only=True)

    class Meta:
        """Meta attributes."""

        model = models.FunctionCode
        fields = "__all__"
Meta

Meta attributes.

Source code in nautobot_function_codes/api/serializers.py
class Meta:
    """Meta attributes."""

    model = models.FunctionCode
    fields = "__all__"

urls

API URL patterns for nautobot_function_codes.

views

API views for nautobot_function_codes.

DeviceFunctionCodeAssignmentViewSet

Bases: NautobotModelViewSet

REST API viewset for DeviceFunctionCodeAssignment.

Source code in nautobot_function_codes/api/views.py
class DeviceFunctionCodeAssignmentViewSet(NautobotModelViewSet):
    """REST API viewset for DeviceFunctionCodeAssignment."""

    queryset = models.DeviceFunctionCodeAssignment.objects.select_related("device", "function_code")
    serializer_class = serializers.DeviceFunctionCodeAssignmentSerializer
    filterset_class = filters.DeviceFunctionCodeAssignmentFilterSet

FunctionCodeViewSet

Bases: NautobotModelViewSet

REST API viewset for FunctionCode.

Source code in nautobot_function_codes/api/views.py
class FunctionCodeViewSet(NautobotModelViewSet):
    """REST API viewset for FunctionCode."""

    queryset = models.FunctionCode.objects.annotate(device_count=Count("device_assignments"))
    serializer_class = serializers.FunctionCodeSerializer
    filterset_class = filters.FunctionCodeFilterSet