ic_query/nns/data_center/report/model/
report.rs1#[cfg(feature = "host")]
2use crate::cache_file::JsonCacheReport;
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
12pub struct NnsDataCenterListReport {
13 pub schema_version: u32,
14 pub network: String,
15 pub registry_canister_id: String,
16 pub registry_version: u64,
17 pub fetched_at: String,
18 pub source_endpoint: String,
19 pub fetched_by: String,
20 pub data_center_count: usize,
21 pub data_centers: Vec<NnsDataCenterRow>,
22}
23
24#[cfg(feature = "host")]
25impl JsonCacheReport for NnsDataCenterListReport {
26 fn schema_version(&self) -> u32 {
27 self.schema_version
28 }
29
30 fn network(&self) -> &str {
31 &self.network
32 }
33}
34
35#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
42pub struct NnsDataCenterRow {
43 pub data_center_id: String,
44 pub region: String,
45 pub owner: String,
46 pub latitude: Option<f32>,
47 pub longitude: Option<f32>,
48 pub node_operator_count: u32,
49 pub node_provider_count: u32,
50 pub node_count: u32,
51}
52
53#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
60pub struct NnsDataCenterInfoReport {
61 pub schema_version: u32,
62 pub input: String,
63 pub resolved_from: String,
64 pub network: String,
65 pub registry_canister_id: String,
66 pub registry_version: u64,
67 pub fetched_at: String,
68 pub source_endpoint: String,
69 pub fetched_by: String,
70 pub data_center_id: String,
71 pub region: String,
72 pub owner: String,
73 pub latitude: Option<f32>,
74 pub longitude: Option<f32>,
75 pub node_operator_count: u32,
76 pub node_provider_count: u32,
77 pub node_count: u32,
78}
79
80#[cfg(feature = "host")]
87#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
88pub struct NnsDataCenterRefreshReport {
89 pub schema_version: u32,
90 pub network: String,
91 pub cache_path: String,
92 pub refresh_lock_path: String,
93 pub output_path: Option<String>,
94 pub registry_canister_id: String,
95 pub registry_version: u64,
96 pub fetched_at: String,
97 pub source_endpoint: String,
98 pub fetched_by: String,
99 pub dry_run: bool,
100 pub wrote_cache: bool,
101 pub replaced_existing_cache: bool,
102 pub data_center_count: usize,
103}