Skip to content

Nautobot Firewall Models API Package

nautobot_firewall_models.api

REST API module for nautobot_firewall_models app.

serializers

API serializers for nautobot_firewall_models.

AddressObjectGroupSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

AddressObjectGroup Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class AddressObjectGroupSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """AddressObjectGroup Serializer."""

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

        model = models.AddressObjectGroup
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.AddressObjectGroup
    fields = "__all__"

AddressObjectSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

AddressObject Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class AddressObjectSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """AddressObject Serializer."""

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

        model = models.AddressObject
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.AddressObject
    fields = "__all__"

ApplicationObjectGroupSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

ApplicationObjectGroup Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class ApplicationObjectGroupSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """ApplicationObjectGroup Serializer."""

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

        model = models.ApplicationObjectGroup
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.ApplicationObjectGroup
    fields = "__all__"

ApplicationObjectSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

ApplicationObject Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class ApplicationObjectSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """ApplicationObject Serializer."""

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

        model = models.ApplicationObject
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.ApplicationObject
    fields = "__all__"

CapircaPolicySerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

CapircaPolicy Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class CapircaPolicySerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """CapircaPolicy Serializer."""

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

        model = models.CapircaPolicy
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.CapircaPolicy
    fields = "__all__"

FQDNSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

FQDN Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class FQDNSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """FQDN Serializer."""

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

        model = models.FQDN
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.FQDN
    fields = "__all__"

IPRangeSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

IPRange Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class IPRangeSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):  # pylint: disable=too-many-ancestors
    """IPRange Serializer."""

    start_address = serializers.CharField()
    end_address = serializers.CharField()

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

        model = models.IPRange
        fields = "__all__"

        # Omit the UniqueTogetherValidators that would be automatically added to validate (start_address, end_address, vrf).
        # This prevents vrf from being interpreted as a required field.
        validators = []

    def validate(self, data):
        """Custom validate method to enforce unique constraints on IPRange model."""
        # Validate uniqueness of (start_address, end_address, vrf) since we omitted the automatically-created validator above.
        start_address = data.get("start_address")
        end_address = data.get("end_address")
        vrf = data.get("vrf")
        if not any([start_address is not None, end_address is not None, vrf is not None]):
            return super().validate(data)

        # Use existing object's attributes for partial updates
        if self.instance:
            start_address = start_address or self.instance.start_address
            end_address = end_address or self.instance.end_address
            vrf = vrf or self.instance.vrf
            qs = models.IPRange.objects.exclude(pk=self.instance.pk)
        else:
            qs = models.IPRange.objects.all()

        if vrf is not None:
            if qs.filter(start_address=start_address, end_address=end_address, vrf=vrf).exists():
                raise serializers.ValidationError("The fields start_address, end_address, vrf must make a unique set.")
        elif qs.filter(start_address=start_address, end_address=end_address, vrf__isnull=True).exists():
            raise serializers.ValidationError("The fields start_address, end_address must make a unique set.")

        return super().validate(data)
Meta

Meta attributes.

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

    model = models.IPRange
    fields = "__all__"

    # Omit the UniqueTogetherValidators that would be automatically added to validate (start_address, end_address, vrf).
    # This prevents vrf from being interpreted as a required field.
    validators = []
validate(data)

Custom validate method to enforce unique constraints on IPRange model.

Source code in nautobot_firewall_models/api/serializers.py
def validate(self, data):
    """Custom validate method to enforce unique constraints on IPRange model."""
    # Validate uniqueness of (start_address, end_address, vrf) since we omitted the automatically-created validator above.
    start_address = data.get("start_address")
    end_address = data.get("end_address")
    vrf = data.get("vrf")
    if not any([start_address is not None, end_address is not None, vrf is not None]):
        return super().validate(data)

    # Use existing object's attributes for partial updates
    if self.instance:
        start_address = start_address or self.instance.start_address
        end_address = end_address or self.instance.end_address
        vrf = vrf or self.instance.vrf
        qs = models.IPRange.objects.exclude(pk=self.instance.pk)
    else:
        qs = models.IPRange.objects.all()

    if vrf is not None:
        if qs.filter(start_address=start_address, end_address=end_address, vrf=vrf).exists():
            raise serializers.ValidationError("The fields start_address, end_address, vrf must make a unique set.")
    elif qs.filter(start_address=start_address, end_address=end_address, vrf__isnull=True).exists():
        raise serializers.ValidationError("The fields start_address, end_address must make a unique set.")

    return super().validate(data)

NATPolicyDeviceM2MSerializer

Bases: ValidatedModelSerializer

NATPolicyDeviceM2M Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class NATPolicyDeviceM2MSerializer(ValidatedModelSerializer):
    """NATPolicyDeviceM2M Serializer."""

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

        model = models.NATPolicyDeviceM2M
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.NATPolicyDeviceM2M
    fields = "__all__"

NATPolicyDynamicGroupM2MSerializer

Bases: ValidatedModelSerializer

NATPolicyDynamicGroupM2M Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class NATPolicyDynamicGroupM2MSerializer(ValidatedModelSerializer):
    """NATPolicyDynamicGroupM2M Serializer."""

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

        model = models.NATPolicyDynamicGroupM2M
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.NATPolicyDynamicGroupM2M
    fields = "__all__"

NATPolicyRuleSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

PolicyRule Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class NATPolicyRuleSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """PolicyRule Serializer."""

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

        model = models.NATPolicyRule
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.NATPolicyRule
    fields = "__all__"

NATPolicySerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

NATPolicy Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class NATPolicySerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """NATPolicy Serializer."""

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

        model = models.NATPolicy
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.NATPolicy
    fields = "__all__"

PolicyDeviceM2MSerializer

Bases: ValidatedModelSerializer

PolicyDeviceM2M Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class PolicyDeviceM2MSerializer(ValidatedModelSerializer):
    """PolicyDeviceM2M Serializer."""

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

        model = models.PolicyDeviceM2M
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.PolicyDeviceM2M
    fields = "__all__"

PolicyDynamicGroupM2MSerializer

Bases: ValidatedModelSerializer

PolicyDynamicGroupM2M Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class PolicyDynamicGroupM2MSerializer(ValidatedModelSerializer):
    """PolicyDynamicGroupM2M Serializer."""

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

        model = models.PolicyDynamicGroupM2M
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.PolicyDynamicGroupM2M
    fields = "__all__"

PolicyRuleSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

PolicyRule Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class PolicyRuleSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """PolicyRule Serializer."""

    index = serializers.IntegerField(required=False, default=None)

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

        model = models.PolicyRule
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.PolicyRule
    fields = "__all__"

PolicySerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

Policy Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class PolicySerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """Policy Serializer."""

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

        model = models.Policy
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.Policy
    fields = "__all__"

ServiceObjectGroupSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

ServiceObjectGroup Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class ServiceObjectGroupSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """ServiceObjectGroup Serializer."""

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

        model = models.ServiceObjectGroup
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.ServiceObjectGroup
    fields = "__all__"

ServiceObjectSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

ServiceObject Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class ServiceObjectSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """ServiceObject Serializer."""

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

        model = models.ServiceObject
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.ServiceObject
    fields = "__all__"

UserObjectGroupSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

UserObjectGroup Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class UserObjectGroupSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """UserObjectGroup Serializer."""

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

        model = models.UserObjectGroup
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.UserObjectGroup
    fields = "__all__"

UserObjectSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

UserObject Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class UserObjectSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """UserObject Serializer."""

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

        model = models.UserObject
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.UserObject
    fields = "__all__"

ZoneSerializer

Bases: NautobotModelSerializer, TaggedModelSerializerMixin

Zone Serializer.

Source code in nautobot_firewall_models/api/serializers.py
class ZoneSerializer(NautobotModelSerializer, TaggedModelSerializerMixin):
    """Zone Serializer."""

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

        model = models.Zone
        fields = "__all__"
Meta

Meta attributes.

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

    model = models.Zone
    fields = "__all__"

urls

Django API urlpatterns declaration for nautobot_firewall_models app.

views

API views for nautobot_firewall_models.

AddressObjectGroupViewSet

Bases: NautobotModelViewSet

AddressObjectGroup viewset.

Source code in nautobot_firewall_models/api/views.py
class AddressObjectGroupViewSet(NautobotModelViewSet):
    """AddressObjectGroup viewset."""

    queryset = models.AddressObjectGroup.objects.all()
    serializer_class = serializers.AddressObjectGroupSerializer
    filterset_class = filters.AddressObjectGroupFilterSet

AddressObjectViewSet

Bases: NautobotModelViewSet

AddressObject viewset.

Source code in nautobot_firewall_models/api/views.py
class AddressObjectViewSet(NautobotModelViewSet):
    """AddressObject viewset."""

    queryset = models.AddressObject.objects.all()
    serializer_class = serializers.AddressObjectSerializer
    filterset_class = filters.AddressObjectFilterSet

ApplicationObjectGroupViewSet

Bases: NautobotModelViewSet

ApplicationObjectGroup viewset.

Source code in nautobot_firewall_models/api/views.py
class ApplicationObjectGroupViewSet(NautobotModelViewSet):
    """ApplicationObjectGroup viewset."""

    queryset = models.ApplicationObjectGroup.objects.all()
    serializer_class = serializers.ApplicationObjectGroupSerializer
    filterset_class = filters.ApplicationObjectGroupFilterSet

ApplicationObjectViewSet

Bases: NautobotModelViewSet

ApplicationObject viewset.

Source code in nautobot_firewall_models/api/views.py
class ApplicationObjectViewSet(NautobotModelViewSet):
    """ApplicationObject viewset."""

    queryset = models.ApplicationObject.objects.all()
    serializer_class = serializers.ApplicationObjectSerializer
    filterset_class = filters.ApplicationObjectFilterSet

CapircaPolicyViewSet

Bases: ModelViewSet

CapircaPolicy viewset.

Source code in nautobot_firewall_models/api/views.py
class CapircaPolicyViewSet(ModelViewSet):
    """CapircaPolicy viewset."""

    queryset = models.CapircaPolicy.objects.all()
    serializer_class = serializers.CapircaPolicySerializer
    filterset_class = filters.CapircaPolicyFilterSet

FQDNViewSet

Bases: NautobotModelViewSet

FQDN viewset.

Source code in nautobot_firewall_models/api/views.py
class FQDNViewSet(NautobotModelViewSet):
    """FQDN viewset."""

    queryset = models.FQDN.objects.all()
    serializer_class = serializers.FQDNSerializer
    filterset_class = filters.FQDNFilterSet

IPRangeViewSet

Bases: NautobotModelViewSet

IPRange viewset.

Source code in nautobot_firewall_models/api/views.py
class IPRangeViewSet(NautobotModelViewSet):
    """IPRange viewset."""

    queryset = models.IPRange.objects.all()
    serializer_class = serializers.IPRangeSerializer
    filterset_class = filters.IPRangeFilterSet

NATPolicyDeviceM2MViewSet

Bases: ModelViewSet

NATPolicyDeviceM2M viewset.

Source code in nautobot_firewall_models/api/views.py
class NATPolicyDeviceM2MViewSet(ModelViewSet):
    """NATPolicyDeviceM2M viewset."""

    queryset = models.NATPolicyDeviceM2M.objects.all()
    serializer_class = serializers.NATPolicyDeviceM2MSerializer
    filterset_class = filters.NATPolicyDeviceM2MFilterSet

NATPolicyDynamicGroupM2MViewSet

Bases: ModelViewSet

NATPolicyDynamicGroupM2M viewset.

Source code in nautobot_firewall_models/api/views.py
class NATPolicyDynamicGroupM2MViewSet(ModelViewSet):
    """NATPolicyDynamicGroupM2M viewset."""

    queryset = models.NATPolicyDynamicGroupM2M.objects.all()
    serializer_class = serializers.NATPolicyDynamicGroupM2MSerializer
    filterset_class = filters.NATPolicyDynamicGroupM2MFilterSet

NATPolicyRuleViewSet

Bases: NautobotModelViewSet

NATPolicyRule viewset.

Source code in nautobot_firewall_models/api/views.py
class NATPolicyRuleViewSet(NautobotModelViewSet):
    """NATPolicyRule viewset."""

    queryset = models.NATPolicyRule.objects.all()
    serializer_class = serializers.NATPolicyRuleSerializer
    filterset_class = filters.NATPolicyRuleFilterSet

NATPolicyViewSet

Bases: NautobotModelViewSet

NATPolicy viewset.

Source code in nautobot_firewall_models/api/views.py
class NATPolicyViewSet(NautobotModelViewSet):
    """NATPolicy viewset."""

    queryset = models.NATPolicy.objects.all()
    serializer_class = serializers.NATPolicySerializer
    filterset_class = filters.NATPolicyFilterSet

PolicyDeviceM2MViewSet

Bases: ModelViewSet

PolicyDeviceM2M viewset.

Source code in nautobot_firewall_models/api/views.py
class PolicyDeviceM2MViewSet(ModelViewSet):
    """PolicyDeviceM2M viewset."""

    queryset = models.PolicyDeviceM2M.objects.all()
    serializer_class = serializers.PolicyDeviceM2MSerializer
    filterset_class = filters.PolicyDeviceM2MFilterSet

PolicyDynamicGroupM2MViewSet

Bases: ModelViewSet

PolicyDynamicGroupM2M viewset.

Source code in nautobot_firewall_models/api/views.py
class PolicyDynamicGroupM2MViewSet(ModelViewSet):
    """PolicyDynamicGroupM2M viewset."""

    queryset = models.PolicyDynamicGroupM2M.objects.all()
    serializer_class = serializers.PolicyDynamicGroupM2MSerializer
    filterset_class = filters.PolicyDynamicGroupM2MFilterSet

PolicyRuleViewSet

Bases: NautobotModelViewSet

PolicyRule viewset.

Source code in nautobot_firewall_models/api/views.py
class PolicyRuleViewSet(NautobotModelViewSet):
    """PolicyRule viewset."""

    queryset = models.PolicyRule.objects.all()
    serializer_class = serializers.PolicyRuleSerializer
    filterset_class = filters.PolicyRuleFilterSet

PolicyViewSet

Bases: NautobotModelViewSet

Policy viewset.

Source code in nautobot_firewall_models/api/views.py
class PolicyViewSet(NautobotModelViewSet):
    """Policy viewset."""

    queryset = models.Policy.objects.all()
    serializer_class = serializers.PolicySerializer
    filterset_class = filters.PolicyFilterSet

ServiceObjectGroupViewSet

Bases: NautobotModelViewSet

ServiceObjectGroup viewset.

Source code in nautobot_firewall_models/api/views.py
class ServiceObjectGroupViewSet(NautobotModelViewSet):
    """ServiceObjectGroup viewset."""

    queryset = models.ServiceObjectGroup.objects.all()
    serializer_class = serializers.ServiceObjectGroupSerializer
    filterset_class = filters.ServiceObjectGroupFilterSet

ServiceObjectViewSet

Bases: NautobotModelViewSet

ServiceObject viewset.

Source code in nautobot_firewall_models/api/views.py
class ServiceObjectViewSet(NautobotModelViewSet):
    """ServiceObject viewset."""

    queryset = models.ServiceObject.objects.all()
    serializer_class = serializers.ServiceObjectSerializer
    filterset_class = filters.ServiceObjectFilterSet

UserObjectGroupViewSet

Bases: NautobotModelViewSet

UserObjectGroup viewset.

Source code in nautobot_firewall_models/api/views.py
class UserObjectGroupViewSet(NautobotModelViewSet):
    """UserObjectGroup viewset."""

    queryset = models.UserObjectGroup.objects.all()
    serializer_class = serializers.UserObjectGroupSerializer
    filterset_class = filters.UserObjectGroupFilterSet

UserObjectViewSet

Bases: NautobotModelViewSet

UserObject viewset.

Source code in nautobot_firewall_models/api/views.py
class UserObjectViewSet(NautobotModelViewSet):
    """UserObject viewset."""

    queryset = models.UserObject.objects.all()
    serializer_class = serializers.UserObjectSerializer
    filterset_class = filters.UserObjectFilterSet

ZoneViewSet

Bases: NautobotModelViewSet

Zone viewset.

Source code in nautobot_firewall_models/api/views.py
class ZoneViewSet(NautobotModelViewSet):
    """Zone viewset."""

    queryset = models.Zone.objects.all()
    serializer_class = serializers.ZoneSerializer
    filterset_class = filters.ZoneFilterSet