pub struct InvariantConfig {
pub name: String,
pub description: String,
pub command: Option<String>,
pub expect_exit: Option<i32>,
pub capture_as: Option<String>,
pub assert_expr: Option<String>,
pub immutable: bool,
pub check_at: Vec<InvariantCheckPoint>,
pub on_violation: OnViolation,
pub protected_files: Vec<String>,
}Expand description
Configuration for a single invariant constraint (WP04).
Fields§
§name: StringStable identifier for the invariant.
description: StringHuman-readable description shown in diagnostics.
command: Option<String>Optional shell command executed to evaluate the invariant.
expect_exit: Option<i32>Expected exit code for command, when command-based evaluation is used.
capture_as: Option<String>Optional pipeline variable name used to capture command output.
assert_expr: Option<String>CEL-style assertion evaluated against the captured result.
immutable: boolMarks the invariant as immutable once the task starts.
check_at: Vec<InvariantCheckPoint>Task checkpoints where the invariant should run.
on_violation: OnViolationPolicy to apply when the invariant fails.
protected_files: Vec<String>Files that must remain unchanged while the invariant is active.
Trait Implementations§
Source§impl Clone for InvariantConfig
impl Clone for InvariantConfig
Source§fn clone(&self) -> InvariantConfig
fn clone(&self) -> InvariantConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InvariantConfig
impl Debug for InvariantConfig
Source§impl<'de> Deserialize<'de> for InvariantConfig
impl<'de> Deserialize<'de> for InvariantConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<InvariantConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<InvariantConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for InvariantConfig
impl PartialEq for InvariantConfig
Source§impl Serialize for InvariantConfig
impl Serialize for InvariantConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for InvariantConfig
Auto Trait Implementations§
impl Freeze for InvariantConfig
impl RefUnwindSafe for InvariantConfig
impl Send for InvariantConfig
impl Sync for InvariantConfig
impl Unpin for InvariantConfig
impl UnsafeUnpin for InvariantConfig
impl UnwindSafe for InvariantConfig
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§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,
Attempts to downcast this to
T behind mutable referenceSource§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,
Attempts to downcast this to
T behind Rc pointerSource§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,
Attempts to downcast this to
T behind Arc pointerSource§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, 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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request