windmill_api/models/
operator_settings.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OperatorSettings {
16 #[serde(rename = "runs")]
18 pub runs: bool,
19 #[serde(rename = "schedules")]
21 pub schedules: bool,
22 #[serde(rename = "resources")]
24 pub resources: bool,
25 #[serde(rename = "variables")]
27 pub variables: bool,
28 #[serde(rename = "assets")]
30 pub assets: bool,
31 #[serde(rename = "audit_logs")]
33 pub audit_logs: bool,
34 #[serde(rename = "triggers")]
36 pub triggers: bool,
37 #[serde(rename = "groups")]
39 pub groups: bool,
40 #[serde(rename = "folders")]
42 pub folders: bool,
43 #[serde(rename = "workers")]
45 pub workers: bool,
46 #[serde(rename = "manage_schedules", skip_serializing_if = "Option::is_none")]
48 pub manage_schedules: Option<bool>,
49 #[serde(rename = "manage_triggers", skip_serializing_if = "Option::is_none")]
51 pub manage_triggers: Option<bool>,
52}
53
54impl OperatorSettings {
55 pub fn new(runs: bool, schedules: bool, resources: bool, variables: bool, assets: bool, audit_logs: bool, triggers: bool, groups: bool, folders: bool, workers: bool) -> OperatorSettings {
56 OperatorSettings {
57 runs,
58 schedules,
59 resources,
60 variables,
61 assets,
62 audit_logs,
63 triggers,
64 groups,
65 folders,
66 workers,
67 manage_schedules: None,
68 manage_triggers: None,
69 }
70 }
71}
72