windmill_api/models/
git_repository_settings.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GitRepositorySettings {
16 #[serde(rename = "script_path")]
17 pub script_path: String,
18 #[serde(rename = "git_repo_resource_path")]
19 pub git_repo_resource_path: String,
20 #[serde(rename = "use_individual_branch", skip_serializing_if = "Option::is_none")]
21 pub use_individual_branch: Option<bool>,
22 #[serde(rename = "group_by_folder", skip_serializing_if = "Option::is_none")]
23 pub group_by_folder: Option<bool>,
24 #[serde(rename = "exclude_types_override", skip_serializing_if = "Option::is_none")]
25 pub exclude_types_override: Option<Vec<ExcludeTypesOverride>>,
26}
27
28impl GitRepositorySettings {
29 pub fn new(script_path: String, git_repo_resource_path: String) -> GitRepositorySettings {
30 GitRepositorySettings {
31 script_path,
32 git_repo_resource_path,
33 use_individual_branch: None,
34 group_by_folder: None,
35 exclude_types_override: None,
36 }
37 }
38}
39#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
41pub enum ExcludeTypesOverride {
42 #[serde(rename = "script")]
43 Script,
44 #[serde(rename = "flow")]
45 Flow,
46 #[serde(rename = "app")]
47 App,
48 #[serde(rename = "folder")]
49 Folder,
50 #[serde(rename = "resource")]
51 Resource,
52 #[serde(rename = "variable")]
53 Variable,
54 #[serde(rename = "secret")]
55 Secret,
56 #[serde(rename = "resourcetype")]
57 Resourcetype,
58 #[serde(rename = "schedule")]
59 Schedule,
60 #[serde(rename = "user")]
61 User,
62 #[serde(rename = "group")]
63 Group,
64 #[serde(rename = "trigger")]
65 Trigger,
66}
67
68impl Default for ExcludeTypesOverride {
69 fn default() -> ExcludeTypesOverride {
70 Self::Script
71 }
72}
73