backend_dispatcher/interfaces/
cfs.rs1use std::future::Future;
2
3use crate::types::K8sDetails;
4use crate::{error::Error, types::cfs::CfsSessionGetResponse};
5use futures::AsyncBufRead;
6
7pub trait CfsTrait {
8 type T: AsyncBufRead;
9
10 fn get_sessions(
11 &self,
12 shasta_token: &str,
13 shasta_base_url: &str,
14 shasta_root_cert: &[u8],
15 session_name_opt: Option<&String>,
16 limit_opt: Option<u8>,
17 after_id_opt: Option<String>,
18 min_age_opt: Option<String>,
19 max_age_opt: Option<String>,
20 status_opt: Option<String>,
21 name_contains_opt: Option<String>,
22 is_succeded_opt: Option<bool>,
23 tags_opt: Option<String>,
24 ) -> impl Future<Output = Result<Vec<CfsSessionGetResponse>, Error>> + Send;
25
26 fn get_sessions_by_xname(
27 &self,
28 shasta_token: &str,
29 shasta_base_url: &str,
30 shasta_root_cert: &[u8],
31 xname_vec: &[&str],
32 limit_opt: Option<u8>,
33 after_id_opt: Option<String>,
34 min_age_opt: Option<String>,
35 max_age_opt: Option<String>,
36 status_opt: Option<String>,
37 name_contains_opt: Option<String>,
38 is_succeded_opt: Option<bool>,
39 tags_opt: Option<String>,
40 ) -> impl Future<Output = Result<Vec<CfsSessionGetResponse>, Error>> + Send;
41
42 fn get_and_filter_sessions(
43 &self,
44 shasta_token: &str,
45 shasta_base_url: &str,
46 shasta_root_cert: &[u8],
47 hsm_group_name_vec_opt: Option<Vec<String>>,
48 xname_vec_opt: Option<Vec<&str>>,
49 min_age_opt: Option<&String>,
50 max_age_opt: Option<&String>,
51 status_opt: Option<&String>,
52 cfs_session_name_opt: Option<&String>,
53 limit_number_opt: Option<&u8>,
54 ) -> impl Future<Output = Result<Vec<CfsSessionGetResponse>, Error>> + Send;
55
56 fn get_session_logs_stream(
57 &self,
58 cfs_session_name: &str,
59 k8s_api_url: &str,
60 k8s: &K8sDetails,
61 ) -> impl Future<Output = Result<Self::T, Error>> + Send;
62
63 fn get_session_logs_stream_by_xname(
64 &self,
65 auth_token: &str,
66 xname: &str,
67 k8s_api_url: &str,
68 k8s: &K8sDetails,
69 ) -> impl Future<Output = Result<Self::T, Error>> + Send;
70}