windmill_api/models/
auto_invite_config.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AutoInviteConfig {
17 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
18 pub enabled: Option<bool>,
19 #[serde(rename = "domain", skip_serializing_if = "Option::is_none")]
20 pub domain: Option<String>,
21 #[serde(rename = "operator", skip_serializing_if = "Option::is_none")]
23 pub operator: Option<bool>,
24 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
25 pub mode: Option<Mode>,
26 #[serde(rename = "instance_groups", skip_serializing_if = "Option::is_none")]
27 pub instance_groups: Option<Vec<String>>,
28 #[serde(rename = "instance_groups_roles", skip_serializing_if = "Option::is_none")]
29 pub instance_groups_roles: Option<std::collections::HashMap<String, String>>,
30}
31
32impl AutoInviteConfig {
33 pub fn new() -> AutoInviteConfig {
35 AutoInviteConfig {
36 enabled: None,
37 domain: None,
38 operator: None,
39 mode: None,
40 instance_groups: None,
41 instance_groups_roles: None,
42 }
43 }
44}
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum Mode {
48 #[serde(rename = "invite")]
49 Invite,
50 #[serde(rename = "add")]
51 Add,
52}
53
54impl Default for Mode {
55 fn default() -> Mode {
56 Self::Invite
57 }
58}
59