Package

Struct Package 

Source
#[non_exhaustive]
pub struct Package {
Show 17 fields pub architecture: Option<String>, pub cpe_name: Option<String>, pub epoch: Option<i64>, pub hash: Option<Box<Fingerprint>>, pub license: Option<String>, pub license_url: Option<String>, pub name: Option<String>, pub package_manager: Option<String>, pub package_manager_url: Option<String>, pub purl: Option<String>, pub release: Option<String>, pub src_url: Option<String>, pub type: Option<String>, pub type_id: Option<i64>, pub uid: Option<String>, pub vendor_name: Option<String>, pub version: Option<String>,
}
Expand description

Software Package

The Software Package object describes details about a software package.

[] Category: | Name: package

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§architecture: Option<String>

Architecture

Architecture is a shorthand name describing the type of computer hardware the packaged software is meant to run on.

recommended

§cpe_name: Option<String>

The product CPE identifier

The Common Platform Enumeration (CPE) name as described by (NIST) For example: cpe:/a:apple:safari:16.2.

optional

§epoch: Option<i64>

Epoch

The software package epoch. Epoch is a way to define weighted dependencies based on version numbers.

optional

§hash: Option<Box<Fingerprint>>

Hash

Cryptographic hash to identify the binary instance of a software component. This can include any component such file, package, or library.

optional

§license: Option<String>

Software License

The software license applied to this package.

optional

§license_url: Option<String>

Software License URL

The URL pointing to the license applied on package or software. This is typically a LICENSE.md file within a repository.

optional

§name: Option<String>

Name

The software package name.

required

§package_manager: Option<String>

Package Manager

The software packager manager utilized to manage a package on a system, e.g. npm, yum, dpkg etc.

optional

§package_manager_url: Option<String>

Package Manager URL

The URL of the package or library at the package manager, or the specific URL or URI of an internal package manager link such as AWS CodeArtifact or Artifactory.

optional

§purl: Option<String>

Package URL

A purl is a URL string used to identify and locate a software package in a mostly universal and uniform way across programming languages, package managers, packaging conventions, tools, APIs and databases.

optional

§release: Option<String>

Software Release Details

Release is the number of times a version of the software has been packaged.

optional

§src_url: Option<String>

Source URL

The link to the specific library or package such as within GitHub, this is different from the link to the package manager where the library or package is hosted.

optional

§type: Option<String>

Type

The type of software package, normalized to the caption of the type_id value. In the case of ‘Other’, it is defined by the source.

optional

§type_id: Option<i64>

Type ID

The type of software package.

recommended

§uid: Option<String>

Package UID

A unique identifier for the package or library reported by the source tool. E.g., the libId within the sbom field of an OX Security Issue or the SPDX components.*.bom-ref.

optional

§vendor_name: Option<String>

Vendor Name

The name of the vendor who published the software package.

optional

§version: Option<String>

Version

The software package version.

required

Trait Implementations§

Source§

impl Clone for Package

Source§

fn clone(&self) -> Package

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Package

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Package

Source§

fn default() -> Package

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Package

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Package

Source§

fn eq(&self, other: &Package) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Package

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Package

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,