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.841.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 compose flows out of existing runnables (consumes a full seat). Omitting the field leaves the stored value unchanged.
47    #[serde(rename = "builder_flows", skip_serializing_if = "Option::is_none")]
48    pub builder_flows: Option<bool>,
49    /// Whether operators can compose full-code apps out of existing runnables (consumes a full seat). Omitting the field leaves the stored value unchanged.
50    #[serde(rename = "builder_apps", skip_serializing_if = "Option::is_none")]
51    pub builder_apps: Option<bool>,
52    /// Whether operators can create, edit and delete schedules. Granted unless withdrawn; omitting the field leaves the stored value unchanged.
53    #[serde(rename = "manage_schedules", skip_serializing_if = "Option::is_none")]
54    pub manage_schedules: Option<bool>,
55    /// Whether operators can create, edit and delete triggers. Granted unless withdrawn; omitting the field leaves the stored value unchanged.
56    #[serde(rename = "manage_triggers", skip_serializing_if = "Option::is_none")]
57    pub manage_triggers: Option<bool>,
58}
59
60impl OperatorSettings {
61    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 {
62        OperatorSettings {
63            runs,
64            schedules,
65            resources,
66            variables,
67            assets,
68            audit_logs,
69            triggers,
70            groups,
71            folders,
72            workers,
73            builder_flows: None,
74            builder_apps: None,
75            manage_schedules: None,
76            manage_triggers: None,
77        }
78    }
79}
80