pub enum ManualRunPhase {
Running,
Succeeded,
Failed,
Unknown(String),
}Expand description
Lifecycle of a manual run.
Closed on the wire, open on decode. The CRD schema still admits exactly
Running/Succeeded/Failed — the apiserver rejects anything else on
every write — but Self::Unknown exists so a value written by a NEWER
kopiur decodes instead of failing the typed watch for the whole Kind. The
schema description this type publishes deliberately still reads “Closed
enum.” and is frozen there; see phase_serde! on why the rustdoc and the
schema text diverge.
use kopiur_api::maintenance::ManualRunPhase;
assert_eq!(serde_json::to_value(ManualRunPhase::Running).unwrap(), "Running");
// An unrecognized phase from a newer operator decodes instead of erroring.
let p: ManualRunPhase = serde_json::from_value(serde_json::json!("Queued")).unwrap();
assert_eq!(p, ManualRunPhase::Unknown("Queued".into()));
assert_eq!(serde_json::to_value(&p).unwrap(), "Queued");Variants§
Running
The mover Job for this request is in flight.
Succeeded
The run finished successfully or yielded the lease cleanly (see the LeaseOwned condition).
Failed
The run’s Job failed; conditions carry the detail.
Unknown(String)
A phase string this build does not recognize (newer operator, or legacy stored data). Decode-compat only — hidden from the CRD schema, never produced by this build. Never counted as a finished run, so a re-run request is never deduped against it.
Trait Implementations§
Source§impl Clone for ManualRunPhase
impl Clone for ManualRunPhase
Source§fn clone(&self) -> ManualRunPhase
fn clone(&self) -> ManualRunPhase
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 ManualRunPhase
impl Debug for ManualRunPhase
Source§impl<'de> Deserialize<'de> for ManualRunPhase
impl<'de> Deserialize<'de> for ManualRunPhase
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
impl Eq for ManualRunPhase
Source§impl JsonSchema for ManualRunPhase
impl JsonSchema for ManualRunPhase
Source§fn json_schema(_: &mut SchemaGenerator) -> Schema
fn json_schema(_: &mut SchemaGenerator) -> Schema
§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for ManualRunPhase
impl PartialEq for ManualRunPhase
Source§fn eq(&self, other: &ManualRunPhase) -> bool
fn eq(&self, other: &ManualRunPhase) -> bool
self and other values to be equal, and is used by ==.Source§impl PhaseLabel for ManualRunPhase
impl PhaseLabel for ManualRunPhase
Source§const ALL: &'static [Self]
const ALL: &'static [Self]
Unknown.Source§fn label(&self) -> &str
fn label(&self) -> &str
match); the Unknown arm echoes the stored value verbatim so a
read-modify-write never mutates a phase this build does not understand.Source§fn unknown(raw: String) -> Self
fn unknown(raw: String) -> Self
phase_serde! macro’s host enum.Source§impl Serialize for ManualRunPhase
impl Serialize for ManualRunPhase
impl StructuralPartialEq for ManualRunPhase
Auto Trait Implementations§
impl Freeze for ManualRunPhase
impl RefUnwindSafe for ManualRunPhase
impl Send for ManualRunPhase
impl Sync for ManualRunPhase
impl Unpin for ManualRunPhase
impl UnsafeUnpin for ManualRunPhase
impl UnwindSafe for ManualRunPhase
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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