ic_query/nns/data_center/report/model/
report.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
10#[serde(deny_unknown_fields)]
11pub struct NnsDataCenterListReport {
12 pub schema_version: u32,
13 pub network: String,
14 pub registry_canister_id: String,
15 pub registry_version: u64,
16 pub fetched_at: String,
17 pub source_endpoint: String,
18 pub fetched_by: String,
19 pub data_center_count: usize,
20 pub data_centers: Vec<NnsDataCenterRow>,
21}
22
23#[cfg(feature = "nns-host")]
24impl_nns_inventory_report!(
25 NnsDataCenterListReport,
26 super::super::NNS_DATA_CENTER_LIST_REPORT_SCHEMA_VERSION,
27 "data_center",
28 data_center_count,
29 data_centers,
30 |_report: &NnsDataCenterListReport| None,
31);
32
33#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
40pub struct NnsDataCenterRow {
41 pub data_center_id: String,
42 pub region: String,
43 pub owner: String,
44 pub latitude: Option<f32>,
45 pub longitude: Option<f32>,
46 pub node_operator_count: u32,
47 pub node_provider_count: u32,
48 pub node_count: u32,
49}
50
51#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
58pub struct NnsDataCenterInfoReport {
59 pub schema_version: u32,
60 pub input: String,
61 pub resolved_from: String,
62 pub network: String,
63 pub registry_canister_id: String,
64 pub registry_version: u64,
65 pub fetched_at: String,
66 pub source_endpoint: String,
67 pub fetched_by: String,
68 pub data_center_id: String,
69 pub region: String,
70 pub owner: String,
71 pub latitude: Option<f32>,
72 pub longitude: Option<f32>,
73 pub node_operator_count: u32,
74 pub node_provider_count: u32,
75 pub node_count: u32,
76}