pub struct NodeDefinition {
pub node_type: String,
pub config: Value,
pub description: Option<String>,
pub enabled: bool,
pub retry: Option<RetryConfig>,
pub timeout_ms: Option<u64>,
pub labels: HashMap<String, String>,
}Expand description
A node definition from YAML.
§Example
nodes:
fraud_check:
type: std::switch
description: Route based on risk score
config:
condition:
type: greater_than
field: risk_score
value: 0.8
log_result:
type: std::log
config:
message: "Processing complete"
level: info
aggregate_stats:
type: std::aggregate
config:
operation: sum
field: amountFields§
§node_type: StringNode type (e.g., “std::switch”, “std::merge”, “plugins::fraud_model”).
config: ValueNode-specific configuration.
description: Option<String>Optional description.
enabled: boolWhether the node is enabled.
retry: Option<RetryConfig>Retry configuration.
timeout_ms: Option<u64>Timeout override for this node (milliseconds).
labels: HashMap<String, String>Custom labels for this node.
Implementations§
Source§impl NodeDefinition
impl NodeDefinition
Sourcepub fn with_config(self, config: Value) -> Self
pub fn with_config(self, config: Value) -> Self
Set configuration.
Sourcepub fn with_description(self, desc: impl Into<String>) -> Self
pub fn with_description(self, desc: impl Into<String>) -> Self
Set description.
Sourcepub fn with_retry(self, retry: RetryConfig) -> Self
pub fn with_retry(self, retry: RetryConfig) -> Self
Set retry configuration.
Sourcepub fn with_timeout_ms(self, ms: u64) -> Self
pub fn with_timeout_ms(self, ms: u64) -> Self
Set timeout override.
Sourcepub fn with_label(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_label( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Add a label.
Sourcepub fn is_trigger(&self) -> bool
pub fn is_trigger(&self) -> bool
Check if this is a trigger node.
Sourcepub fn get_string(&self, key: &str) -> Option<&str>
pub fn get_string(&self, key: &str) -> Option<&str>
Get a string config value.
Sourcepub fn get_nested(&self, path: &[&str]) -> Option<&Value>
pub fn get_nested(&self, path: &[&str]) -> Option<&Value>
Get a nested config value.
Trait Implementations§
Source§impl Clone for NodeDefinition
impl Clone for NodeDefinition
Source§fn clone(&self) -> NodeDefinition
fn clone(&self) -> NodeDefinition
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 NodeDefinition
impl Debug for NodeDefinition
Source§impl<'de> Deserialize<'de> for NodeDefinition
impl<'de> Deserialize<'de> for NodeDefinition
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for NodeDefinition
impl RefUnwindSafe for NodeDefinition
impl Send for NodeDefinition
impl Sync for NodeDefinition
impl Unpin for NodeDefinition
impl UnwindSafe for NodeDefinition
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
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> 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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.