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