nimbuspulse_client/types/
system_resources.rs

1use serde::Deserialize;
2
3#[derive(Debug, Deserialize, Clone)]
4#[cfg_attr(test, derive(ts_rs::TS))]
5#[cfg_attr(test, ts(export, export_to = "../../javascript/lib/types/"))]
6pub struct ServerResources {
7    pub cpus: Vec<CpuMetric>,
8    pub max_ram: u64,
9    pub ram: Vec<RamMetric>,
10}
11
12#[derive(Debug, Deserialize, Clone)]
13#[cfg_attr(test, derive(ts_rs::TS))]
14#[cfg_attr(test, ts(export, export_to = "../../javascript/lib/types/"))]
15pub struct CpuMetric {
16    pub metric: CpuMetricData,
17    pub values: Vec<(f64, String)>,
18}
19
20#[derive(Debug, Deserialize, Clone)]
21#[cfg_attr(test, derive(ts_rs::TS))]
22#[cfg_attr(test, ts(export, export_to = "../../javascript/lib/types/"))]
23pub struct CpuMetricData {
24    pub core: String,
25}
26
27#[derive(Debug, Deserialize, Clone)]
28#[cfg_attr(test, derive(ts_rs::TS))]
29#[cfg_attr(test, ts(export, export_to = "../../javascript/lib/types/"))]
30pub struct RamMetric {
31    pub metric: RamMetricData,
32    pub values: Vec<(f64, String)>,
33}
34
35#[derive(Debug, Deserialize, Clone)]
36#[cfg_attr(test, derive(ts_rs::TS))]
37#[cfg_attr(test, ts(export, export_to = "../../javascript/lib/types/"))]
38pub struct RamMetricData {
39    pub instance: String,
40    pub job: String,
41    pub monitor: String,
42    pub vm_uuid: String,
43}