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 = "builder_flows", skip_serializing_if = "Option::is_none")]
48 pub builder_flows: Option<bool>,
49 #[serde(rename = "manage_schedules", skip_serializing_if = "Option::is_none")]
51 pub manage_schedules: Option<bool>,
52 #[serde(rename = "manage_triggers", skip_serializing_if = "Option::is_none")]
54 pub manage_triggers: Option<bool>,
55}
56
57impl OperatorSettings {
58 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 {
59 OperatorSettings {
60 runs,
61 schedules,
62 resources,
63 variables,
64 assets,
65 audit_logs,
66 triggers,
67 groups,
68 folders,
69 workers,
70 builder_flows: None,
71 manage_schedules: None,
72 manage_triggers: None,
73 }
74 }
75}
76