// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// Body for ``POST /v1/workflows/blocks/executions``.
/// ``block_id`` is the block to replay; ``run_id`` is the workflow run that
/// sourced the original step's ``handle_inputs``. ``step_id`` optionally pins
/// a concrete step row whose inputs should be used, which is useful for
/// iteration-prefixed for_each body steps.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateBlockExecutionRequest {
    /// Workflow run id that owns the step.
    pub run_id: String,
    /// Workflow block id to execute.
    pub block_id: String,
    /// Optional concrete step id whose inputs should be used. When omitted, the block id is used as the canonical step lookup key.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub step_id: Option<String>,
    /// Optional override for n_consensus on extract / split / classifier blocks. Must be 3, 5, or 7.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub n_consensus: Option<i64>,
    /// Whether to verify the upstream subgraph hasn't drifted since the source run. Disable only for explicit force-rerun flows.
    ///
    /// Defaults to `true`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub check_eligibility: Option<bool>,
}
