Expand description
Operation trait re-exported from ironflow_core::operation.
The canonical definitions live in ironflow-core so that external crates
can implement Operation without depending on ironflow-engine.
This module re-exports them for backward compatibility.
§Examples
use async_trait::async_trait;
use ironflow_engine::operation::Operation;
use ironflow_core::operation::OperationContext;
use ironflow_core::error::OperationError;
use serde_json::{Value, json};
struct CreateGitlabIssue {
project_id: u64,
title: String,
}
#[async_trait]
impl Operation for CreateGitlabIssue {
fn kind(&self) -> &str {
"gitlab"
}
async fn execute(&self, _ctx: &OperationContext) -> Result<Value, OperationError> {
Ok(json!({"issue_id": 42, "url": "https://gitlab.com/issues/42"}))
}
}Structs§
- Noop
Secret Resolver - A
SecretResolverthat always returnsOk(None). - Operation
Context - Context provided to every
Operation::executecall. - Secret
Value - A decrypted secret value returned by
SecretResolver::get.
Traits§
- Operation
- A user-defined operation that integrates into the workflow step lifecycle.
- Secret
Resolver - Trait for resolving secrets at operation execution time.
- Typed
Operation - A typed extension of
Operationthat declares a concrete output type.