pub struct ManagedExecutionMetadata {
pub operation_id: OperationId,
pub creation_intent_digest: Option<String>,
pub generation: ExecutionGeneration,
pub request: CreateExecutionRequest,
pub oci_runtime: Option<OciRuntimeBinding>,
pub runtime_route: ManagedRuntimeRoute,
pub plan: ResolvedExecutionPlan,
pub pending_operation: Option<ManagedExecutionOperation>,
pub last_restart: Option<ManagedRestartCompletion>,
pub last_resource_update: Option<ManagedResourceUpdateCompletion>,
pub finished_at: Option<DateTime<Utc>>,
pub paused_with_memory: bool,
}Expand description
Durable lifecycle metadata for an execution owned by ExecutionManager.
Fields§
§operation_id: OperationIdIdempotency key of the create operation.
creation_intent_digest: Option<String>Immutable digest of the original create request.
Live resource updates change request because it is also the restart
source of truth. This separate identity keeps retries of the original
create operation idempotent after later mutable policy changes.
generation: ExecutionGenerationRuntime generation used to reject stale lifecycle requests.
request: CreateExecutionRequestFull creation intent required to recover an interrupted launch.
oci_runtime: Option<OciRuntimeBinding>Exact runtime identity returned by A3S OCI Runtime. Product and runtime generations remain separate and this field is cleared after teardown.
runtime_route: ManagedRuntimeRouteProduct-selected lifecycle route for every generation of this record.
Unspecified is retained only for records written before production
routing existed. New concrete backends persist an exact route before
the reservation is published.
plan: ResolvedExecutionPlanBackend resolution validated before any launch side effects.
pending_operation: Option<ManagedExecutionOperation>Lifecycle side effect claimed before calling the backend.
last_restart: Option<ManagedRestartCompletion>Most recent completed restart retained for idempotent response replay.
last_resource_update: Option<ManagedResourceUpdateCompletion>Most recent completed live resource update retained for keyed replay.
finished_at: Option<DateTime<Utc>>Provider terminal timestamp retained for deterministic observation replay.
paused_with_memory: boolWhether a paused execution still owns a live, memory-preserved runtime.
Records written before filesystem-only pause support always represented
warm pauses, so the backwards-compatible default is true.
Implementations§
Source§impl ManagedExecutionMetadata
impl ManagedExecutionMetadata
Sourcepub fn new(
operation_id: OperationId,
generation: ExecutionGeneration,
request: CreateExecutionRequest,
) -> Result<Self>
pub fn new( operation_id: OperationId, generation: ExecutionGeneration, request: CreateExecutionRequest, ) -> Result<Self>
Build validated recovery metadata from one creation request.
Sourcepub fn is_oci_routed(&self) -> bool
pub fn is_oci_routed(&self) -> bool
Whether this durable record must dispatch through A3S OCI Runtime.
Records written before runtime_route was introduced are identified by
their exact OCI binding. Callers must never fall back to a Box-owned
socket after either form of durable evidence selects OCI.
Trait Implementations§
Source§impl Clone for ManagedExecutionMetadata
impl Clone for ManagedExecutionMetadata
Source§fn clone(&self) -> ManagedExecutionMetadata
fn clone(&self) -> ManagedExecutionMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ManagedExecutionMetadata
impl Debug for ManagedExecutionMetadata
Source§impl<'de> Deserialize<'de> for ManagedExecutionMetadata
impl<'de> Deserialize<'de> for ManagedExecutionMetadata
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>,
Auto Trait Implementations§
impl Freeze for ManagedExecutionMetadata
impl RefUnwindSafe for ManagedExecutionMetadata
impl Send for ManagedExecutionMetadata
impl Sync for ManagedExecutionMetadata
impl Unpin for ManagedExecutionMetadata
impl UnsafeUnpin for ManagedExecutionMetadata
impl UnwindSafe for ManagedExecutionMetadata
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
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