mssf_core/types/common/security_credentials/
mod.rs1use mssf_com::FabricClient::IFabricClientSettings2;
6
7mod claims_credentials;
8pub use claims_credentials::*;
9mod fabric_protection_level;
10pub use fabric_protection_level::*;
11mod windows_credentials;
12pub use windows_credentials::*;
13mod x509_credentials;
14pub use x509_credentials::*;
15
16#[non_exhaustive]
19pub enum FabricSecurityCredentials {
20 Windows(FabricWindowsCredentials),
22 X509(FabricX509Credentials),
23 Claims(FabricClaimsCredentials),
25}
26
27trait FabricSecurityCredentialKind {
28 fn apply_inner(&self, settings_interface: IFabricClientSettings2) -> crate::Result<()>;
29}
30
31impl FabricSecurityCredentials {
32 pub fn apply(&self, settings_interface: IFabricClientSettings2) -> crate::Result<()> {
33 match &self {
34 FabricSecurityCredentials::X509(v) => v as &dyn FabricSecurityCredentialKind,
35 FabricSecurityCredentials::Claims(v) => v as &dyn FabricSecurityCredentialKind,
36 FabricSecurityCredentials::Windows(v) => v as &dyn FabricSecurityCredentialKind,
37 }
38 .apply_inner(settings_interface)
39 }
40}
41
42#[cfg(test)]
43pub(crate) mod test {}