pub struct WorkflowStepConfig {Show 26 fields
pub id: String,
pub description: Option<String>,
pub required_capability: Option<String>,
pub template: Option<String>,
pub execution_profile: Option<String>,
pub builtin: Option<String>,
pub enabled: bool,
pub repeatable: bool,
pub is_guard: bool,
pub cost_preference: Option<CostPreference>,
pub prehook: Option<StepPrehookConfig>,
pub tty: bool,
pub outputs: Vec<String>,
pub pipe_to: Option<String>,
pub command: Option<String>,
pub chain_steps: Vec<WorkflowStepConfig>,
pub scope: Option<StepScope>,
pub behavior: StepBehavior,
pub max_parallel: Option<usize>,
pub stagger_delay_ms: Option<u64>,
pub timeout_secs: Option<u64>,
pub stall_timeout_secs: Option<u64>,
pub item_select_config: Option<ItemSelectConfig>,
pub store_inputs: Vec<StoreInputConfig>,
pub store_outputs: Vec<StoreOutputConfig>,
pub step_vars: Option<HashMap<String, String>>,
}Expand description
Workflow step configuration.
Fields§
§id: StringStable step identifier used in workflow definitions and traces.
description: Option<String>Human-readable description shown in generated docs or diagnostics.
required_capability: Option<String>Required agent capability for agent-backed steps.
template: Option<String>Reference to a StepTemplate resource name
execution_profile: Option<String>Execution profile name used to select host or sandbox behavior.
builtin: Option<String>Builtin implementation name for builtin-backed steps.
enabled: boolWhether the step is enabled.
repeatable: boolWhether the step should run again on subsequent loop cycles.
is_guard: boolWhether this step can terminate the workflow loop.
cost_preference: Option<CostPreference>Optional cost preference hint used during agent selection.
prehook: Option<StepPrehookConfig>Conditional execution hook evaluated before the step runs.
tty: boolWhether command execution should request a TTY.
outputs: Vec<String>Named outputs this step produces (for pipeline variable passing)
pipe_to: Option<String>Pipe this step’s output to the named step as input
command: Option<String>Build command for builtin build/test/lint steps
chain_steps: Vec<WorkflowStepConfig>Sub-steps to execute in sequence for smoke_chain step
scope: Option<StepScope>Execution scope (defaults based on step id)
behavior: StepBehaviorDeclarative step behavior (on_failure, captures, post_actions, etc.)
max_parallel: Option<usize>Maximum parallel items for item-scoped steps (per-step override)
stagger_delay_ms: Option<u64>Stagger delay in ms between parallel agent spawns (per-step override)
timeout_secs: Option<u64>Per-step timeout in seconds (overrides global safety.step_timeout_secs)
stall_timeout_secs: Option<u64>Per-step stall auto-kill threshold in seconds (overrides global safety.stall_timeout_secs)
item_select_config: Option<ItemSelectConfig>WP03: Configuration for item_select builtin step
store_inputs: Vec<StoreInputConfig>Store inputs: read values from workflow stores before step execution
store_outputs: Vec<StoreOutputConfig>Store outputs: write pipeline vars to workflow stores after step execution
step_vars: Option<HashMap<String, String>>Step-scoped variable overrides applied as a temporary overlay on pipeline variables during this step’s execution. Does not modify global pipeline state.
Trait Implementations§
Source§impl Clone for WorkflowStepConfig
impl Clone for WorkflowStepConfig
Source§fn clone(&self) -> WorkflowStepConfig
fn clone(&self) -> WorkflowStepConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WorkflowStepConfig
impl Debug for WorkflowStepConfig
Source§impl<'de> Deserialize<'de> for WorkflowStepConfig
impl<'de> Deserialize<'de> for WorkflowStepConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkflowStepConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkflowStepConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for WorkflowStepConfig
impl Serialize for WorkflowStepConfig
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,
Auto Trait Implementations§
impl Freeze for WorkflowStepConfig
impl RefUnwindSafe for WorkflowStepConfig
impl Send for WorkflowStepConfig
impl Sync for WorkflowStepConfig
impl Unpin for WorkflowStepConfig
impl UnsafeUnpin for WorkflowStepConfig
impl UnwindSafe for WorkflowStepConfig
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,
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,
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,
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,
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
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>
T in a tonic::Request