manta_server/backend_dispatcher/
pcs.rs

1//! Dispatches `PCSTrait` (power control) methods to csm-rs or ochami-rs.
2
3use manta_backend_dispatcher::{
4  error::Error, interfaces::pcs::PCSTrait,
5  types::pcs::transitions::types::TransitionResponse,
6};
7
8use StaticBackendDispatcher::*;
9
10use crate::manta_backend_dispatcher::StaticBackendDispatcher;
11
12impl PCSTrait for StaticBackendDispatcher {
13  async fn power_on_sync(
14    &self,
15    auth_token: &str,
16    nodes: &[String],
17  ) -> Result<TransitionResponse, Error> {
18    dispatch!(self, power_on_sync, auth_token, nodes)
19  }
20
21  async fn power_off_sync(
22    &self,
23    auth_token: &str,
24    nodes: &[String],
25    force: bool,
26  ) -> Result<TransitionResponse, Error> {
27    dispatch!(self, power_off_sync, auth_token, nodes, force)
28  }
29
30  async fn power_reset_sync(
31    &self,
32    auth_token: &str,
33    nodes: &[String],
34    force: bool,
35  ) -> Result<TransitionResponse, Error> {
36    dispatch!(self, power_reset_sync, auth_token, nodes, force)
37  }
38}