// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// Run-id-first public experiment run shape.
/// The canonical identity is ``id``. Internal queue handles and duplicate
/// identity aliases are intentionally absent.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ExperimentRun {
    pub id: String,
    pub workflow: WorkflowSnapshotRef,
    pub trigger: ExperimentRunTrigger,
    pub experiment_id: String,
    pub block_id: String,
    pub block_type: ExperimentRunBlockType,
    pub n_consensus: ExperimentRunNConsensus,
    pub lifecycle: CancelWorkflowExperimentRunResponseLifecycleOneOf,
    pub timing: ExperimentRunTiming,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub parent_run_id: Option<String>,
    pub definition_fingerprint: String,
    pub documents_fingerprint: String,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub score: Option<f64>,
    /// Defaults to `0`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub total_document_count: Option<i64>,
    /// Defaults to `0`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub completed_document_count: Option<i64>,
    /// Defaults to `0`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub document_count: Option<i64>,
    /// Defaults to `0`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub error_count: Option<i64>,
}
