Source code for nisystemlink.clients.feeds.models._package

from __future__ import annotations

from datetime import datetime
from typing import Dict, List

from nisystemlink.clients.core._uplink._json_model import JsonModel


class PackageMetadata(JsonModel):
    """Package Meta data."""

    package_name: str | None = None
    """The name of the package."""
    version: str | None = None
    """The version number of the package."""
    architecture: str | None = None
    """The architecture of the package."""
    breaks: List[str] | None = None
    """Information about other packages this package breaks."""
    conflicts: List[str] | None = None
    """Information about other packages this package conflicts with."""
    depends: List[str] | None = None
    """Information about other packages this package depends on."""
    description: str | None = None
    """The description of the package."""
    enhances: List[str] | None = None
    """Information about other packages this package enchances."""
    essential: bool | None = None
    """True if the package is essential."""
    file_name: str | None = None
    """The file name of the package. Depending on the selected platform,
    the following package extensions are available:
    .nipkg for windows feeds, .ipk and .deb for ni-linux-rt feeds."""
    homepage: str | None = None
    """The website of the maintainers for the package."""
    installed_size: int | None = None
    """The size of the package after install."""
    maintainer: str | None = None
    """The maintainer of the package (name and email address)."""
    predepends: List[str] | None = None
    """Information about other packages this package predepends."""
    priority: int | None = None
    """The priority of the package."""
    provides: List[str] | None = None
    """Information about other packages that this package provides."""
    recommends: List[str] | None = None
    """Information about other packages this package recommends."""
    release_notes: str | None = None
    """The release notes of the package."""
    replaces: List[str] | None = None
    """Information about other packages this package replaces."""
    section: str | None = None
    """The application area of the package."""
    size: int | None = None
    """The size (in bytes) of the package."""
    source: str | None = None
    """The source of the package."""
    suggests: List[str] | None = None
    """Information about other packages this package suggests."""
    tags: str | None = None
    """The tags of the package."""
    attributes: Dict[str, str] | None = None
    """The attributes of the package."""


[docs]class Package(JsonModel): """Package model.""" id: str | None = None """Gets or sets the ID of this package. This is used to reference this package in the service.""" file_name: str | None = None """The name of the file in this package.""" feed_id: str | None = None """The ID of the feed this package is associated with.""" workspace: str | None = None """The ID of the workspace this package belongs to. The workspace of a package is the workspace of feed this package is associated with.""" updated_at: datetime | None = None """The date of the latest package update.""" created_at: datetime | None = None """The date when the package was created at.""" metadata: PackageMetadata | None = None """Package meta data."""