Enum SopTrigger
pub enum SopTrigger {
Mqtt {
topic: String,
condition: Option<String>,
},
Webhook {
path: String,
},
Cron {
expression: String,
},
Peripheral {
board: String,
signal: String,
condition: Option<String>,
},
Filesystem {
path: String,
events: Vec<FilesystemEventKind>,
condition: Option<String>,
},
Calendar {
calendar_source: String,
calendar_ids: Vec<String>,
condition: Option<String>,
},
Channel {
channel: String,
alias: Option<String>,
condition: Option<String>,
},
Manual,
Amqp {
routing_key: String,
condition: Option<String>,
},
}Expand description
What event can activate an SOP.
Variants§
Mqtt
MQTT message arrival. Live: delivered by the MQTT listener.
Fields
Webhook
Inbound HTTP request. Defined and matched, but no live route feeds it.
Cron
Time-based firing. Live: dispatched by the SOP maintenance tick (daemon / channel-start paths).
Peripheral
Hardware signal. Defined and matched, but no peripheral listener feeds it.
Fields
Filesystem
Filesystem change. Live: delivered by the filesystem watcher.
Fields
events: Vec<FilesystemEventKind>Change kinds to match; empty matches every kind.
Calendar
Calendar event state. Defined and matched, but no poller feeds it live.
Fields
Channel
Inbound message or forge/platform event on a configured channel
(telegram, discord, slack, git, …). Live: delivered by the channel
orchestrator when the channel’s SOP dispatch is enabled. The Git forge
producer sets an event topic of the form <channel>.<alias>:<event_type>
and puts event_type in the payload, so an authored condition filters
forge events by type without a second trigger shape.
Fields
Manual
Agent-initiated run via the sop_execute tool. Not an external fan-in.
Amqp
AMQP delivery. Live: delivered by the AMQP consumer in a SOP dispatch mode.
Implementations§
Source§impl SopTrigger
impl SopTrigger
pub fn source(&self) -> SopTriggerSource
Trait Implementations§
Source§impl Clone for SopTrigger
impl Clone for SopTrigger
Source§fn clone(&self) -> SopTrigger
fn clone(&self) -> SopTrigger
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SopTrigger
impl Debug for SopTrigger
Source§impl<'de> Deserialize<'de> for SopTrigger
impl<'de> Deserialize<'de> for SopTrigger
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SopTrigger, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SopTrigger, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Display for SopTrigger
impl Display for SopTrigger
Source§impl<'_enum> From<&'_enum SopTrigger> for SopTriggerSource
impl<'_enum> From<&'_enum SopTrigger> for SopTriggerSource
Source§fn from(val: &'_enum SopTrigger) -> SopTriggerSource
fn from(val: &'_enum SopTrigger) -> SopTriggerSource
Source§impl From<SopTrigger> for SopTriggerSource
impl From<SopTrigger> for SopTriggerSource
Source§fn from(val: SopTrigger) -> SopTriggerSource
fn from(val: SopTrigger) -> SopTriggerSource
Source§impl IntoDiscriminant for SopTrigger
impl IntoDiscriminant for SopTrigger
Source§type Discriminant = SopTriggerSource
type Discriminant = SopTriggerSource
fn discriminant(&self) -> <SopTrigger as IntoDiscriminant>::Discriminant
Source§impl JsonSchema for SopTrigger
impl JsonSchema for SopTrigger
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SopTrigger
impl PartialEq for SopTrigger
Source§impl Serialize for SopTrigger
impl Serialize for SopTrigger
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,
impl Eq for SopTrigger
impl StructuralPartialEq for SopTrigger
Auto Trait Implementations§
impl Freeze for SopTrigger
impl RefUnwindSafe for SopTrigger
impl Send for SopTrigger
impl Sync for SopTrigger
impl Unpin for SopTrigger
impl UnsafeUnpin for SopTrigger
impl UnwindSafe for SopTrigger
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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<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
§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