// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WhileLoopTermination {
    /// Artifact operation that determines the backing record type
    ///
    /// Defaults to `while_loop_termination`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub operation: Option<String>,
    pub id: String,
    pub workflow_run_id: String,
    pub step_id: String,
    /// Why the while-loop terminated
    pub termination_reason: WhileLoopTerminationTerminationReason,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub evaluations: Option<Vec<ConditionEvaluationResult>>,
    /// When this artifact was written by the orchestrator.
    pub created_at: String,
}
