get_hardware_nodes_list

Function get_hardware_nodes_list 

Source
pub async fn get_hardware_nodes_list(
    infra: &InfraContext<'_>,
    token: &str,
    params: &GetHardwareNodesListParams,
) -> Result<HardwareNodesListResult, Error>
Expand description

Fetch hardware inventory for the nodes named by params.host_expression.

The expression is parsed by from_hosts_expression_to_xname_vec (hostlist notation, NIDs, or xnames; siblings are not expanded here). An empty resolution yields BadRequest rather than a silent no-op. The caller’s group access to every resolved xname is validated through validate_user_group_members_access before the per-node inventory fan-out runs.

§Errors

  • [Error::InvalidNodeId] / [Error::BadRequest] when the expression cannot be parsed or resolves to an empty xname set.
  • [Error::BadRequest] when the caller lacks group access to one of the resolved xnames.
  • [Error::NetError] / [Error::CsmError] from get_node_metadata_available. Per-node inventory failures degrade to an empty NodeSummary row rather than surfacing an error.