Skip to content

Device Lifecycle Management API Package

nautobot_device_lifecycle_mgmt.api

REST API module for nautobot_device_lifecycle_mgmt plugin.

nested_serializers

Nested/brief alternate REST API serializers for nautobot_device_lifecycle_mgmt models.

NestedCVELCMSerializer

Bases: WritableNestedSerializer

Nested serializer for the CVE class.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class NestedCVELCMSerializer(WritableNestedSerializer):
    """Nested serializer for the CVE class."""

    url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:cvelcm-detail")

    class Meta:
        """Meta magic method for the CVE nested serializer."""

        model = models.CVELCM
        fields = [
            "id",
            "url",
            "display",
            "name",
            "published_date",
            "link",
            "status",
            "description",
            "severity",
            "cvss",
            "cvss_v2",
            "cvss_v3",
            "fix",
            "comments",
        ]
Meta

Meta magic method for the CVE nested serializer.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class Meta:
    """Meta magic method for the CVE nested serializer."""

    model = models.CVELCM
    fields = [
        "id",
        "url",
        "display",
        "name",
        "published_date",
        "link",
        "status",
        "description",
        "severity",
        "cvss",
        "cvss_v2",
        "cvss_v3",
        "fix",
        "comments",
    ]

NestedContractLCMSerializer

Bases: WritableNestedSerializer

API serializer.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class NestedContractLCMSerializer(WritableNestedSerializer):
    """API serializer."""

    provider = NestedProviderLCMSerializer(many=False, read_only=False, required=True, help_text="Contract Provider")

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

        model = models.ContractLCM
        fields = [
            "id",
            "provider",
            "name",
            "start",
            "end",
            "cost",
            "support_level",
            "contract_type",
            "expired",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class Meta:
    """Meta attributes."""

    model = models.ContractLCM
    fields = [
        "id",
        "provider",
        "name",
        "start",
        "end",
        "cost",
        "support_level",
        "contract_type",
        "expired",
    ]

NestedProviderLCMSerializer

Bases: WritableNestedSerializer

Nested serializer for the provider class.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class NestedProviderLCMSerializer(WritableNestedSerializer):
    """Nested serializer for the provider class."""

    class Meta:
        """Meta magic method for the Provider nested serializer."""

        model = models.ProviderLCM
        fields = [
            "id",
            "name",
            "description",
            "physical_address",
            "country",
            "phone",
            "email",
            "portal_url",
            "comments",
        ]
Meta

Meta magic method for the Provider nested serializer.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class Meta:
    """Meta magic method for the Provider nested serializer."""

    model = models.ProviderLCM
    fields = [
        "id",
        "name",
        "description",
        "physical_address",
        "country",
        "phone",
        "email",
        "portal_url",
        "comments",
    ]

NestedSoftwareImageLCMSerializer

Bases: WritableNestedSerializer

Nested/brief serializer for SoftwareImageLCM.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class NestedSoftwareImageLCMSerializer(WritableNestedSerializer):
    """Nested/brief serializer for SoftwareImageLCM."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:softwareimagelcm-detail"
    )

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

        model = models.SoftwareImageLCM
        fields = [
            "id",
            "url",
            "image_file_name",
            "device_types",
            "inventory_items",
            "object_tags",
            "download_url",
            "image_file_checksum",
            "hashing_algorithm",
            "default_image",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class Meta:
    """Meta attributes."""

    model = models.SoftwareImageLCM
    fields = [
        "id",
        "url",
        "image_file_name",
        "device_types",
        "inventory_items",
        "object_tags",
        "download_url",
        "image_file_checksum",
        "hashing_algorithm",
        "default_image",
    ]

NestedSoftwareLCMSerializer

Bases: WritableNestedSerializer

Nested/brief serializer for SoftwareLCM.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class NestedSoftwareLCMSerializer(WritableNestedSerializer):
    """Nested/brief serializer for SoftwareLCM."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:softwarelcm-detail"
    )

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

        model = models.SoftwareLCM
        fields = ["id", "url", "device_platform", "version", "end_of_support"]
        read_only_fields = ["device_platform"]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/nested_serializers.py
class Meta:
    """Meta attributes."""

    model = models.SoftwareLCM
    fields = ["id", "url", "device_platform", "version", "end_of_support"]
    read_only_fields = ["device_platform"]

serializers

API serializers implementation for the LifeCycle Management plugin.

CVELCMSerializer

Bases: , StatusModelSerializerMixin

REST API serializer for CVELCM records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class CVELCMSerializer(*serializer_base_classes, StatusModelSerializerMixin):  # pylint: disable=abstract-method
    """REST API serializer for CVELCM records."""

    url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:cvelcm-detail")
    status = StatusSerializerField(required=False, queryset=Status.objects.all())
    severity = ChoiceField(choices=choices.CVESeverityChoices, required=False)

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

        model = CVELCM
        fields = [
            "id",
            "url",
            "name",
            "published_date",
            "link",
            "status",
            "description",
            "severity",
            "cvss",
            "cvss_v2",
            "cvss_v3",
            "fix",
            "comments",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

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

    model = CVELCM
    fields = [
        "id",
        "url",
        "name",
        "published_date",
        "link",
        "status",
        "description",
        "severity",
        "cvss",
        "cvss_v2",
        "cvss_v3",
        "fix",
        "comments",
        "custom_fields",
        "tags",
    ]

ContactLCMSerializer

Bases:

API serializer.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class ContactLCMSerializer(*serializer_base_classes):  # pylint: disable=R0901,too-few-public-methods
    """API serializer."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:contactlcm-detail"
    )
    contract = NestedContractLCMSerializer(many=False, read_only=False, required=True, help_text="Associated Contract")

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = ContactLCM
        fields = [
            "url",
            "name",
            "address",
            "phone",
            "email",
            "comments",
            "priority",
            "contract",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = ContactLCM
    fields = [
        "url",
        "name",
        "address",
        "phone",
        "email",
        "comments",
        "priority",
        "contract",
        "custom_fields",
        "tags",
    ]

ContractLCMSerializer

Bases:

API serializer.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class ContractLCMSerializer(*serializer_base_classes):  # pylint: disable=R0901,too-few-public-methods
    """API serializer."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:contractlcm-detail"
    )
    provider = NestedProviderLCMSerializer(many=False, read_only=False, required=True, help_text="Vendor")

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = ContractLCM
        fields = [
            "url",
            "id",
            "provider",
            "name",
            "start",
            "end",
            "cost",
            "support_level",
            "contract_type",
            "expired",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = ContractLCM
    fields = [
        "url",
        "id",
        "provider",
        "name",
        "start",
        "end",
        "cost",
        "support_level",
        "contract_type",
        "expired",
        "custom_fields",
        "tags",
    ]

DeviceSoftwareValidationResultSerializer

Bases:

REST API serializer for DeviceSoftwareValidationResult records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class DeviceSoftwareValidationResultSerializer(*serializer_base_classes):  # pylint: disable=too-few-public-methods
    """REST API serializer for DeviceSoftwareValidationResult records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:devicesoftwarevalidationresult-detail"
    )
    device = NestedDeviceSerializer(read_only=True)
    software = NestedSoftwareLCMSerializer(read_only=True)

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = DeviceSoftwareValidationResult
        fields = [
            "device",
            "software",
            "is_validated",
            "last_run",
            "run_type",
            "valid_software",
            "url",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = DeviceSoftwareValidationResult
    fields = [
        "device",
        "software",
        "is_validated",
        "last_run",
        "run_type",
        "valid_software",
        "url",
    ]

HardwareLCMSerializer

Bases:

API serializer.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class HardwareLCMSerializer(*serializer_base_classes):  # pylint: disable=R0901,too-few-public-methods
    """API serializer."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:hardwarelcm-detail"
    )
    device_type = NestedDeviceTypeSerializer(
        many=False, read_only=False, required=True, help_text="Device Type to attach the Hardware LCM to"
    )
    devices = NestedDeviceSerializer(many=True, read_only=True, required=False, help_text="Devices tied to Device Type")

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = HardwareLCM
        fields = [
            "url",
            "id",
            "expired",
            "devices",
            "device_type",
            "inventory_item",
            "release_date",
            "end_of_sale",
            "end_of_support",
            "end_of_sw_releases",
            "end_of_security_patches",
            "documentation_url",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = HardwareLCM
    fields = [
        "url",
        "id",
        "expired",
        "devices",
        "device_type",
        "inventory_item",
        "release_date",
        "end_of_sale",
        "end_of_support",
        "end_of_sw_releases",
        "end_of_security_patches",
        "documentation_url",
        "custom_fields",
        "tags",
    ]

InventoryItemSoftwareValidationResultSerializer

Bases:

REST API serializer for InventoryItemSoftwareValidationResult records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class InventoryItemSoftwareValidationResultSerializer(
    *serializer_base_classes
):  # pylint: disable=too-few-public-methods
    """REST API serializer for InventoryItemSoftwareValidationResult records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:inventoryitemsoftwarevalidationresult-detail"
    )
    inventory_item = NestedDeviceSerializer(read_only=True)
    software = NestedSoftwareLCMSerializer(read_only=True)

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = InventoryItemSoftwareValidationResult
        fields = [
            "inventory_item",
            "software",
            "is_validated",
            "last_run",
            "run_type",
            "valid_software",
            "url",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = InventoryItemSoftwareValidationResult
    fields = [
        "inventory_item",
        "software",
        "is_validated",
        "last_run",
        "run_type",
        "valid_software",
        "url",
    ]

ProviderLCMSerializer

Bases:

API serializer.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class ProviderLCMSerializer(*serializer_base_classes):  # pylint: disable=R0901,too-few-public-methods
    """API serializer."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:providerlcm-detail"
    )

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = ProviderLCM
        fields = [
            "url",
            "id",
            "name",
            "description",
            "physical_address",
            "country",
            "phone",
            "email",
            "portal_url",
            "comments",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = ProviderLCM
    fields = [
        "url",
        "id",
        "name",
        "description",
        "physical_address",
        "country",
        "phone",
        "email",
        "portal_url",
        "comments",
        "custom_fields",
        "tags",
    ]

SoftwareImageLCMSerializer

Bases:

REST API serializer for SoftwareImageLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class SoftwareImageLCMSerializer(*serializer_base_classes):  # pylint: disable=too-few-public-methods
    """REST API serializer for SoftwareImageLCM records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:softwareimagelcm-detail"
    )
    software = NestedSoftwareLCMSerializer()

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = SoftwareImageLCM
        fields = [
            "id",
            "url",
            "image_file_name",
            "software",
            "device_types",
            "inventory_items",
            "object_tags",
            "download_url",
            "image_file_checksum",
            "hashing_algorithm",
            "default_image",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = SoftwareImageLCM
    fields = [
        "id",
        "url",
        "image_file_name",
        "software",
        "device_types",
        "inventory_items",
        "object_tags",
        "download_url",
        "image_file_checksum",
        "hashing_algorithm",
        "default_image",
        "custom_fields",
        "tags",
    ]

SoftwareLCMSerializer

Bases:

REST API serializer for SoftwareLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class SoftwareLCMSerializer(*serializer_base_classes):  # pylint: disable=too-few-public-methods
    """REST API serializer for SoftwareLCM records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:softwarelcm-detail"
    )
    device_platform = NestedPlatformSerializer()
    software_images = SerializedPKRelatedField(
        queryset=SoftwareImageLCM.objects.all(),
        serializer=NestedSoftwareImageLCMSerializer,
        required=False,
        many=True,
    )

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = SoftwareLCM
        fields = [
            "id",
            "url",
            "device_platform",
            "version",
            "alias",
            "release_date",
            "end_of_support",
            "documentation_url",
            "software_images",
            "long_term_support",
            "pre_release",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = SoftwareLCM
    fields = [
        "id",
        "url",
        "device_platform",
        "version",
        "alias",
        "release_date",
        "end_of_support",
        "documentation_url",
        "software_images",
        "long_term_support",
        "pre_release",
        "custom_fields",
        "tags",
    ]

ValidatedSoftwareLCMSerializer

Bases:

REST API serializer for ValidatedSoftwareLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class ValidatedSoftwareLCMSerializer(*serializer_base_classes):  # pylint: disable=too-few-public-methods
    """REST API serializer for ValidatedSoftwareLCM records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:validatedsoftwarelcm-detail"
    )
    software = NestedSoftwareLCMSerializer()

    class Meta:  # pylint: disable=too-few-public-methods
        """Meta attributes."""

        model = ValidatedSoftwareLCM
        fields = [
            "id",
            "url",
            "software",
            "devices",
            "device_types",
            "device_roles",
            "inventory_items",
            "object_tags",
            "start",
            "end",
            "preferred",
            "valid",
            "custom_fields",
            "tags",
        ]
Meta

Meta attributes.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class Meta:  # pylint: disable=too-few-public-methods
    """Meta attributes."""

    model = ValidatedSoftwareLCM
    fields = [
        "id",
        "url",
        "software",
        "devices",
        "device_types",
        "device_roles",
        "inventory_items",
        "object_tags",
        "start",
        "end",
        "preferred",
        "valid",
        "custom_fields",
        "tags",
    ]

VulnerabilityLCMSerializer

Bases: , StatusModelSerializerMixin

REST API serializer for VulnerabilityLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/serializers.py
class VulnerabilityLCMSerializer(
    *serializer_base_classes, StatusModelSerializerMixin
):  # pylint: disable=abstract-method
    """REST API serializer for VulnerabilityLCM records."""

    url = serializers.HyperlinkedIdentityField(
        view_name="plugins-api:nautobot_device_lifecycle_mgmt-api:vulnerabilitylcm-detail"
    )
    cve = NestedCVELCMSerializer(read_only=True)
    software = NestedSoftwareLCMSerializer(read_only=True)
    device = NestedDeviceSerializer(read_only=True)
    inventory_item = NestedInventoryItemSerializer(read_only=True)

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

        model = VulnerabilityLCM
        fields = [
            "id",
            "display",
            "url",
            "cve",
            "software",
            "device",
            "inventory_item",
            "status",
            "custom_fields",
            "tags",
        ]
        read_only_fields = [
            "id",
            "display",
            "url",
            "cve",
            "software",
            "device",
            "inventory_item",
        ]
Meta

Meta attributes.

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

    model = VulnerabilityLCM
    fields = [
        "id",
        "display",
        "url",
        "cve",
        "software",
        "device",
        "inventory_item",
        "status",
        "custom_fields",
        "tags",
    ]
    read_only_fields = [
        "id",
        "display",
        "url",
        "cve",
        "software",
        "device",
        "inventory_item",
    ]

urls

API URLs for the Lifecycle Management plugin.

views

API Views implementation for the Lifecycle Management plugin.

CVELCMViewSet

Bases: CustomFieldModelViewSet

REST API viewset for CVELCM records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class CVELCMViewSet(CustomFieldModelViewSet):
    """REST API viewset for CVELCM records."""

    queryset = CVELCM.objects.all()
    serializer_class = CVELCMSerializer
    filterset_class = CVELCMFilterSet

ContactLCMView

Bases: ModelViewSet

CRUD operations set for the Contact Lifecycle Management view.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class ContactLCMView(ModelViewSet):
    """CRUD operations set for the Contact Lifecycle Management view."""

    queryset = ContactLCM.objects.all()
    filterset_class = ContactLCMFilterSet
    serializer_class = ContactLCMSerializer

ContractLCMView

Bases: ModelViewSet

CRUD operations set for the Contract Lifecycle Management view.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class ContractLCMView(ModelViewSet):
    """CRUD operations set for the Contract Lifecycle Management view."""

    queryset = ContractLCM.objects.all()
    filterset_class = ContractLCMFilterSet
    serializer_class = ContractLCMSerializer

DeviceSoftwareValidationResultListViewSet

Bases: CustomFieldModelViewSet

REST API viewset for DeviceSoftwareValidationResult records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class DeviceSoftwareValidationResultListViewSet(CustomFieldModelViewSet):
    """REST API viewset for DeviceSoftwareValidationResult records."""

    queryset = DeviceSoftwareValidationResult.objects.all()
    serializer_class = DeviceSoftwareValidationResultSerializer
    filterset_class = DeviceSoftwareValidationResultFilterSet

    # Disabling POST as these should only be created via Job.
    http_method_names = ["get", "head", "options"]

HardwareLCMView

Bases: ModelViewSet

CRUD operations set for the Hardware Lifecycle Management view.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class HardwareLCMView(ModelViewSet):
    """CRUD operations set for the Hardware Lifecycle Management view."""

    queryset = HardwareLCM.objects.all()
    filterset_class = HardwareLCMFilterSet
    serializer_class = HardwareLCMSerializer

InventoryItemSoftwareValidationResultListViewSet

Bases: CustomFieldModelViewSet

REST API viewset for DeviceSoftwareValidationResult records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class InventoryItemSoftwareValidationResultListViewSet(CustomFieldModelViewSet):
    """REST API viewset for DeviceSoftwareValidationResult records."""

    queryset = InventoryItemSoftwareValidationResult.objects.all()
    serializer_class = InventoryItemSoftwareValidationResultSerializer
    filterset_class = InventoryItemSoftwareValidationResultFilterSet

    # Disabling POST as these should only be created via Job.
    http_method_names = ["get", "head", "options"]

ProviderLCMView

Bases: ModelViewSet

CRUD operations set for the Contract Provider Lifecycle Management view.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class ProviderLCMView(ModelViewSet):
    """CRUD operations set for the Contract Provider Lifecycle Management view."""

    queryset = ProviderLCM.objects.all()
    filterset_class = ProviderLCMFilterSet
    serializer_class = ProviderLCMSerializer

SoftwareImageLCMViewSet

Bases: CustomFieldModelViewSet

REST API viewset for SoftwareImageLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class SoftwareImageLCMViewSet(CustomFieldModelViewSet):
    """REST API viewset for SoftwareImageLCM records."""

    queryset = SoftwareImageLCM.objects.prefetch_related("software")
    serializer_class = SoftwareImageLCMSerializer
    filterset_class = SoftwareImageLCMFilterSet

SoftwareLCMViewSet

Bases: CustomFieldModelViewSet

REST API viewset for SoftwareLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class SoftwareLCMViewSet(CustomFieldModelViewSet):
    """REST API viewset for SoftwareLCM records."""

    queryset = SoftwareLCM.objects.prefetch_related("software_images")
    serializer_class = SoftwareLCMSerializer
    filterset_class = SoftwareLCMFilterSet

ValidatedSoftwareLCMViewSet

Bases: CustomFieldModelViewSet

REST API viewset for ValidatedSoftwareLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class ValidatedSoftwareLCMViewSet(CustomFieldModelViewSet):
    """REST API viewset for ValidatedSoftwareLCM records."""

    queryset = ValidatedSoftwareLCM.objects.all()
    serializer_class = ValidatedSoftwareLCMSerializer
    filterset_class = ValidatedSoftwareLCMFilterSet

VulnerabilityLCMViewSet

Bases: CustomFieldModelViewSet

REST API viewset for VulnerabilityLCM records.

Source code in nautobot_device_lifecycle_mgmt/api/views.py
class VulnerabilityLCMViewSet(CustomFieldModelViewSet):
    """REST API viewset for VulnerabilityLCM records."""

    queryset = VulnerabilityLCM.objects.all()
    serializer_class = VulnerabilityLCMSerializer
    filterset_class = VulnerabilityLCMFilterSet

    # Disabling POST as these should only be created via Job.
    http_method_names = ["get", "put", "patch", "delete", "head", "options"]