cuenv_core/secrets/
mod.rs1use schemars::JsonSchema;
6use serde::{Deserialize, Serialize};
7use serde_json::Value;
8use std::collections::HashMap;
9
10#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq)]
12pub struct ExecResolver {
13 pub command: String,
15
16 pub args: Vec<String>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq)]
23pub struct Secret {
24 pub resolver: String,
26
27 pub command: String,
29
30 #[serde(default)]
32 pub args: Vec<String>,
33
34 #[serde(flatten)]
36 pub extra: HashMap<String, Value>,
37}
38
39impl Secret {
40 pub fn new(command: String, args: Vec<String>) -> Self {
42 Secret {
43 resolver: "exec".to_string(),
44 command,
45 args,
46 extra: HashMap::new(),
47 }
48 }
49
50 pub fn with_extra(command: String, args: Vec<String>, extra: HashMap<String, Value>) -> Self {
52 Secret {
53 resolver: "exec".to_string(),
54 command,
55 args,
56 extra,
57 }
58 }
59}