pub struct Link {
pub byproducts: Option<ByProducts>,
pub command: Option<Vec<String>>,
pub environment: Option<Environment>,
pub materials: Option<Vec<GrafeasV1beta1IntotoArtifact>>,
pub products: Option<Vec<GrafeasV1beta1IntotoArtifact>>,
}
Expand description
This corresponds to an in-toto link.
This type is not used in any activity, and only used as part of another schema.
Fields§
§byproducts: Option<ByProducts>
ByProducts are data generated as part of a software supply chain step, but are not the actual result of the step.
command: Option<Vec<String>>
This field contains the full command executed for the step. This can also be empty if links are generated for operations that aren’t directly mapped to a specific command. Each term in the command is an independent string in the list. An example of a command in the in-toto metadata field is: “command”: [“git”, “clone”, “https://github.com/in-toto/demo-project.git”]
environment: Option<Environment>
This is a field that can be used to capture information about the environment. It is suggested for this field to contain information that details environment variables, filesystem information, and the present working directory. The recommended structure of this field is: “environment”: { “custom_values”: { “variables”: “”, “filesystem”: “”, “workdir”: “”, “”: “…” } }
materials: Option<Vec<GrafeasV1beta1IntotoArtifact>>
Materials are the supply chain artifacts that go into the step and are used for the operation performed. The key of the map is the path of the artifact and the structure contains the recorded hash information. An example is: “materials”: [ { “resource_uri”: “foo/bar”, “hashes”: { “sha256”: “ebebf…”, : } } ]
products: Option<Vec<GrafeasV1beta1IntotoArtifact>>
Products are the supply chain artifacts generated as a result of the step. The structure is identical to that of materials.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Link
impl<'de> Deserialize<'de> for Link
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>,
impl Part for Link
Auto Trait Implementations§
impl Freeze for Link
impl RefUnwindSafe for Link
impl Send for Link
impl Sync for Link
impl Unpin for Link
impl UnwindSafe for Link
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
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>
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>
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