pub struct Product {
pub id: String,
pub identifiers: Option<BTreeMap<String, String>>,
pub hashes: Option<BTreeMap<String, String>>,
pub subcomponents: Vec<Subcomponent>,
}Expand description
A product the statement applies to. @id is a PURL or any URI; the
subcomponent list pinpoints the vulnerable transitive dep.
Fields§
§id: String§identifiers: Option<BTreeMap<String, String>>Optional auxiliary identifiers (PURL, CPE 2.2, CPE 2.3, etc.).
Keys are the identifier type (e.g. "purl", "cpe23"),
values are the literal identifier strings.
hashes: Option<BTreeMap<String, String>>Optional content hashes that pin the product to specific bytes.
Keys are hash algorithms (e.g. "sha256"), values are hex.
subcomponents: Vec<Subcomponent>Trait Implementations§
Source§impl<'de> Deserialize<'de> for Product
impl<'de> Deserialize<'de> for Product
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Product
Auto Trait Implementations§
impl Freeze for Product
impl RefUnwindSafe for Product
impl Send for Product
impl Sync for Product
impl Unpin for Product
impl UnsafeUnpin for Product
impl UnwindSafe for Product
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more