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 #[serde(flatten)]
15 pub provenance: crate::nns::registry::NnsRegistryInventoryProvenance,
16 pub node_operator_count: usize,
17 pub node_operators: Vec<NnsNodeOperatorRow>,
18}
19
20#[cfg(feature = "nns-host")]
21impl_nns_inventory_report!(
22 NnsNodeOperatorListReport,
23 super::super::NNS_NODE_OPERATOR_LIST_REPORT_SCHEMA_VERSION,
24 "node_operator",
25 super::super::COLLECTION,
26 node_operator_count,
27 node_operators,
28 |_report: &NnsNodeOperatorListReport| None,
29);
30
31#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
38pub struct NnsNodeOperatorRow {
39 pub node_operator_principal: String,
40 pub node_provider_principal: String,
41 pub node_allowance: u64,
42 pub data_center_id: String,
43 pub node_count: Option<u32>,
44}
45
46#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
53pub struct NnsNodeOperatorInfoReport {
54 pub schema_version: u32,
55 pub input: String,
56 pub resolved_from: String,
57 #[serde(flatten)]
59 pub provenance: crate::nns::registry::NnsRegistryInventoryProvenance,
60 #[serde(flatten)]
62 pub node_operator: NnsNodeOperatorRow,
63}