pub enum PipelineStep {
Resolve(ResolveConfig),
Filter(FilterConfig),
FanOut(FanOutConfig),
Batch(BatchConfig),
Deduplicate(DeduplicateConfig),
Map(MapConfig),
RateLimit(RateLimitConfig),
Deliver(DeliverConfig),
}Expand description
A single step in the pipeline — wraps a PipelineOp with its config
Each step is a single-key YAML map where the key names the operator:
- resolve:
from: target_id
as: owner
- filter:
condition: "source_id != owner.id"Uses a custom Serialize/Deserialize to produce clean YAML (map keys instead of YAML tags).
Variants§
Resolve(ResolveConfig)
Resolve an entity by ID or by following a link
Filter(FilterConfig)
Filter events based on a condition (drop if false)
FanOut(FanOutConfig)
Fan out to multiple recipients via link resolution (1→N)
Batch(BatchConfig)
Batch events by key within a time window
Deduplicate(DeduplicateConfig)
Deduplicate events by key within a sliding window
Map(MapConfig)
Transform the payload via a Tera template
RateLimit(RateLimitConfig)
Rate limit the flow
Deliver(DeliverConfig)
Deliver to one or more sinks
Trait Implementations§
Source§impl Clone for PipelineStep
impl Clone for PipelineStep
Source§fn clone(&self) -> PipelineStep
fn clone(&self) -> PipelineStep
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 PipelineStep
impl Debug for PipelineStep
Source§impl<'de> Deserialize<'de> for PipelineStep
impl<'de> Deserialize<'de> for PipelineStep
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 PipelineStep
impl RefUnwindSafe for PipelineStep
impl Send for PipelineStep
impl Sync for PipelineStep
impl Unpin for PipelineStep
impl UnsafeUnpin for PipelineStep
impl UnwindSafe for PipelineStep
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
Mutably borrows from an owned value. Read more