vector/config/secret.rs
1use std::collections::{HashMap, HashSet};
2
3use enum_dispatch::enum_dispatch;
4use vector_lib::configurable::NamedComponent;
5
6use crate::signal;
7
8/// Generalized interface to a secret backend.
9#[enum_dispatch]
10pub trait SecretBackend: NamedComponent + core::fmt::Debug + Send + Sync {
11 async fn retrieve(
12 &mut self,
13 secret_keys: HashSet<String>,
14 signal_rx: &mut signal::SignalRx,
15 ) -> crate::Result<HashMap<String, String>>;
16}