nimbuspulse_client/types/
system_resources.rs1use 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}