Skip to main content

ic_query/cloud_engine/node/
mod.rs

1//! Module: cloud_engine::node
2//!
3//! Responsibility: official Dashboard CloudEngine Type4 node requests, reports, and text.
4//! Does not own: native control-plane queries, Registry evidence, CLI parsing, or caching.
5//! Boundary: selects the explicit Type4 node scope and preserves raw off-chain observations.
6
7#[cfg(feature = "dashboard-host")]
8mod host;
9mod model;
10mod text;
11
12#[cfg(feature = "dashboard-host")]
13pub use host::{
14    CloudEngineNodeSource, build_cloud_engine_node_info_report,
15    build_cloud_engine_node_info_report_with_source, build_cloud_engine_node_list_report,
16    build_cloud_engine_node_list_report_with_source,
17};
18pub use model::{
19    CloudEngineNodeInfoReport, CloudEngineNodeInfoRequest, CloudEngineNodeListReport,
20    CloudEngineNodeListRequest, CloudEngineNodeRow,
21};
22#[cfg(feature = "dashboard-host")]
23pub use model::{CloudEngineNodeInfoSourceData, CloudEngineNodeListSourceData};
24pub use text::{cloud_engine_node_info_report_text, cloud_engine_node_list_report_text};
25
26/// Dashboard reward-type filter selecting CloudEngine nodes.
27pub const CLOUD_ENGINE_NODE_REWARD_TYPE: &str = "Type4";
28
29/// Complete current Dashboard status scope requested by CloudEngine node lists.
30pub const CLOUD_ENGINE_NODE_INCLUDED_STATUSES: [&str; 4] = ["DOWN", "UP", "DISABLED", "DEGRADED"];
31
32/// Maximum Type4 rows accepted from one Dashboard node response.
33pub const MAX_CLOUD_ENGINE_NODE_ROWS: u32 = 10_000;
34
35#[cfg(test)]
36mod tests;