ic_query/nns/node_operator/report/model/
report.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
10#[serde(deny_unknown_fields)]
11pub struct NnsNodeOperatorListReport {
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 node_operator_count: usize,
20 pub node_operators: Vec<NnsNodeOperatorRow>,
21}
22
23#[cfg(feature = "nns-host")]
24impl_nns_inventory_report!(
25 NnsNodeOperatorListReport,
26 super::super::NNS_NODE_OPERATOR_LIST_REPORT_SCHEMA_VERSION,
27 "node_operator",
28 node_operator_count,
29 node_operators,
30 |_report: &NnsNodeOperatorListReport| None,
31);
32
33#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
40pub struct NnsNodeOperatorRow {
41 pub node_operator_principal: String,
42 pub node_provider_principal: String,
43 pub node_allowance: u64,
44 pub data_center_id: String,
45 pub node_count: Option<u32>,
46}
47
48#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
55pub struct NnsNodeOperatorInfoReport {
56 pub schema_version: u32,
57 pub input: String,
58 pub resolved_from: String,
59 pub network: String,
60 pub registry_canister_id: String,
61 pub registry_version: u64,
62 pub fetched_at: String,
63 pub source_endpoint: String,
64 pub fetched_by: String,
65 pub node_operator_principal: String,
66 pub node_provider_principal: String,
67 pub node_allowance: u64,
68 pub data_center_id: String,
69 pub node_count: Option<u32>,
70}