manta_server/backend_dispatcher/
component.rs1use manta_backend_dispatcher::{
4 error::Error,
5 interfaces::hsm::component::ComponentTrait,
6 types::{Component, ComponentArrayPostArray, NodeMetadataArray},
7};
8
9use StaticBackendDispatcher::*;
10
11use serde_json::Value;
12
13use crate::manta_backend_dispatcher::StaticBackendDispatcher;
14
15impl ComponentTrait for StaticBackendDispatcher {
16 async fn get_all_nodes(
17 &self,
18 auth_token: &str,
19 nid_only: Option<&str>,
20 ) -> Result<NodeMetadataArray, Error> {
21 dispatch!(self, get_all_nodes, auth_token, nid_only)
22 }
23
24 async fn get_node_metadata_available(
25 &self,
26 auth_token: &str,
27 ) -> Result<Vec<Component>, Error> {
28 dispatch!(self, get_node_metadata_available, auth_token)
29 }
30
31 async fn get(
32 &self,
33 auth_token: &str,
34 id: Option<&str>,
35 r#type: Option<&str>,
36 state: Option<&str>,
37 flag: Option<&str>,
38 role: Option<&str>,
39 subrole: Option<&str>,
40 enabled: Option<&str>,
41 software_status: Option<&str>,
42 subtype: Option<&str>,
43 arch: Option<&str>,
44 class: Option<&str>,
45 nid: Option<&str>,
46 nid_start: Option<&str>,
47 nid_end: Option<&str>,
48 partition: Option<&str>,
49 group: Option<&str>,
50 state_only: Option<&str>,
51 flag_only: Option<&str>,
52 role_only: Option<&str>,
53 nid_only: Option<&str>,
54 ) -> Result<NodeMetadataArray, Error> {
55 dispatch!(
56 self,
57 get,
58 auth_token,
59 id,
60 r#type,
61 state,
62 flag,
63 role,
64 subrole,
65 enabled,
66 software_status,
67 subtype,
68 arch,
69 class,
70 nid,
71 nid_start,
72 nid_end,
73 partition,
74 group,
75 state_only,
76 flag_only,
77 role_only,
78 nid_only
79 )
80 }
81
82 async fn post_nodes(
83 &self,
84 auth_token: &str,
85 component: ComponentArrayPostArray,
86 ) -> Result<(), Error> {
87 dispatch!(self, post_nodes, auth_token, component)
88 }
89
90 async fn delete_node(
91 &self,
92 auth_token: &str,
93 id: &str,
94 ) -> Result<Value, Error> {
95 dispatch!(self, delete_node, auth_token, id)
96 }
97
98 async fn nid_to_xname(
99 &self,
100 auth_token: &str,
101 user_input_nid: &str,
102 is_regex: bool,
103 ) -> Result<Vec<String>, Error> {
104 dispatch!(self, nid_to_xname, auth_token, user_input_nid, is_regex)
105 }
106}