libomni/types/db/v1/
instance.rs

1use serde::Serialize;
2use chrono::{DateTime, Utc};
3
4#[derive(Debug, sqlx::FromRow, Serialize)]
5pub struct Instance {
6    pub id: i64,
7    pub app_id: i64,
8    pub instance_type: String,
9    pub guid: String,
10    pub status: String, // enum: 'running', 'starting', 'stopping', 'stopped', 'crashed', 'terminated', 'unknown'
11    pub region_id: i64,
12    pub container_id: Option<String>,
13    pub container_ip: Option<String>,
14    pub allocation_id: Option<i64>,
15    pub node_id: Option<i64>,
16    pub instance_index: i32,
17    pub last_health_check: Option<DateTime<Utc>>,
18    pub health_status: String, // enum: 'healthy', 'unhealthy', 'unknown'
19    pub cpu_usage: Option<f64>,
20    pub memory_usage: Option<f64>,
21    pub disk_usage: Option<f64>,
22    pub uptime: Option<i32>,
23    pub restart_count: Option<i32>,
24    pub last_restart_reason: Option<String>,
25    pub start_time: Option<DateTime<Utc>>,
26    pub stop_time: Option<DateTime<Utc>>,
27    pub exit_code: Option<i32>,
28    pub exit_reason: Option<String>,
29    pub scheduler_metadata: Option<serde_json::Value>,
30    pub created_at: DateTime<Utc>,
31    pub updated_at: DateTime<Utc>,
32}