Skip to main content

windmill_api/models/
operator_settings.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.818.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OperatorSettings {
16    /// Whether operators can view runs
17    #[serde(rename = "runs")]
18    pub runs: bool,
19    /// Whether operators can view schedules
20    #[serde(rename = "schedules")]
21    pub schedules: bool,
22    /// Whether operators can view resources
23    #[serde(rename = "resources")]
24    pub resources: bool,
25    /// Whether operators can view variables
26    #[serde(rename = "variables")]
27    pub variables: bool,
28    /// Whether operators can view assets
29    #[serde(rename = "assets")]
30    pub assets: bool,
31    /// Whether operators can view audit logs
32    #[serde(rename = "audit_logs")]
33    pub audit_logs: bool,
34    /// Whether operators can view triggers
35    #[serde(rename = "triggers")]
36    pub triggers: bool,
37    /// Whether operators can view groups page
38    #[serde(rename = "groups")]
39    pub groups: bool,
40    /// Whether operators can view folders page
41    #[serde(rename = "folders")]
42    pub folders: bool,
43    /// Whether operators can view workers page
44    #[serde(rename = "workers")]
45    pub workers: bool,
46    /// Whether operators can create, edit and delete schedules. Granted unless withdrawn; omitting the field leaves the stored value unchanged.
47    #[serde(rename = "manage_schedules", skip_serializing_if = "Option::is_none")]
48    pub manage_schedules: Option<bool>,
49    /// Whether operators can create, edit and delete triggers. Granted unless withdrawn; omitting the field leaves the stored value unchanged.
50    #[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