use crate::fleet_ensure::model::FleetEnsureSuccessorReviewReason;
use serde::Serialize;
#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum FleetEnsurePhase {
Infrastructure,
ImportReconciliation,
ControlPlane,
WorkloadProvisioning,
PoolReadiness,
TerminalVerification,
Complete,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
#[serde(tag = "kind", rename_all = "snake_case")]
pub enum FleetEnsureProgressState {
Advancing,
AwaitingProgress,
PrerequisiteComplete,
FundingRequired,
ReviewRequired {
reason: FleetEnsureSuccessorReviewReason,
review: Option<Box<crate::fleet_ensure::model::FleetSuccessorReview>>,
},
Complete,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct FleetEnsureProgress {
pub operation_id: String,
pub plan_sha256: String,
pub phase: FleetEnsurePhase,
pub state: FleetEnsureProgressState,
pub applied_effects: u32,
pub reviewed_effects: usize,
}