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)]
9pub struct NnsDataCenterListReport {
10 pub schema_version: u32,
11 pub network: String,
12 pub registry_canister_id: String,
13 pub registry_version: u64,
14 pub fetched_at: String,
15 pub source_endpoint: String,
16 pub fetched_by: String,
17 pub data_center_count: usize,
18 pub data_centers: Vec<NnsDataCenterRow>,
19}
20
21#[cfg(feature = "host")]
22impl JsonCacheReport for NnsDataCenterListReport {
23 fn schema_version(&self) -> u32 {
24 self.schema_version
25 }
26
27 fn network(&self) -> &str {
28 &self.network
29 }
30}
31
32#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
36pub struct NnsDataCenterRow {
37 pub data_center_id: String,
38 pub region: String,
39 pub owner: String,
40 pub latitude: Option<f32>,
41 pub longitude: Option<f32>,
42 pub node_operator_count: u32,
43 pub node_provider_count: u32,
44 pub node_count: u32,
45}
46
47#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
51pub struct NnsDataCenterInfoReport {
52 pub schema_version: u32,
53 pub input: String,
54 pub resolved_from: String,
55 pub network: String,
56 pub registry_canister_id: String,
57 pub registry_version: u64,
58 pub fetched_at: String,
59 pub source_endpoint: String,
60 pub fetched_by: String,
61 pub data_center_id: String,
62 pub region: String,
63 pub owner: String,
64 pub latitude: Option<f32>,
65 pub longitude: Option<f32>,
66 pub node_operator_count: u32,
67 pub node_provider_count: u32,
68 pub node_count: u32,
69}
70
71#[cfg(feature = "host")]
75#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
76pub struct NnsDataCenterRefreshReport {
77 pub schema_version: u32,
78 pub network: String,
79 pub cache_path: String,
80 pub refresh_lock_path: String,
81 pub output_path: Option<String>,
82 pub registry_canister_id: String,
83 pub registry_version: u64,
84 pub fetched_at: String,
85 pub source_endpoint: String,
86 pub fetched_by: String,
87 pub dry_run: bool,
88 pub wrote_cache: bool,
89 pub replaced_existing_cache: bool,
90 pub data_center_count: usize,
91}