pub struct ExecutedInstruction {
pub source_line: String,
pub produced_layer: bool,
pub timestamp: DateTime<Utc>,
}Expand description
One executed Dockerfile instruction recorded in
BuildSkeleton::instruction_log.
Task 4.D consumes this log to emit the OCI image config’s history
array — one entry per source-line invocation, with empty_layer = true
for config-only instructions (WORKDIR / ENV / etc.) and
empty_layer = false for instructions that produced a real layer
(FROM / RUN / COPY / ADD). The source_line field holds the
reconstructed Dockerfile text (e.g. "FROM mcr.microsoft.com/...",
"RUN choco install -y curl") so downstream tooling like
docker history can render the build provenance.
Fields§
§source_line: StringReconstructed Dockerfile source line for the instruction, used
verbatim as the created_by value in the emitted OCI history
entry. Reconstructed from the parsed instruction (rather than
echoing the original line) so a Dockerfile with continuation
backslashes or comments collapses to a single canonical form per
instruction — which is what docker history displays.
produced_layer: booltrue when this instruction produced a real layer (FROM / RUN /
COPY / ADD); false for config-only instructions. Determines the
empty_layer field on the emitted OCI history entry.
timestamp: DateTime<Utc>Build-time UTC timestamp captured at execution. Surfaces as
created on the emitted OCI history entry.
Trait Implementations§
Source§impl Clone for ExecutedInstruction
impl Clone for ExecutedInstruction
Source§fn clone(&self) -> ExecutedInstruction
fn clone(&self) -> ExecutedInstruction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ExecutedInstruction
impl RefUnwindSafe for ExecutedInstruction
impl Send for ExecutedInstruction
impl Sync for ExecutedInstruction
impl Unpin for ExecutedInstruction
impl UnsafeUnpin for ExecutedInstruction
impl UnwindSafe for ExecutedInstruction
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request