windmill_api/models/
create_workspace_fork.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateWorkspaceFork {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "name")]
19 pub name: String,
20 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
21 pub color: Option<String>,
22 #[serde(rename = "forked_datatables", skip_serializing_if = "Option::is_none")]
23 pub forked_datatables: Option<Vec<models::CreateWorkspaceForkForkedDatatablesInner>>,
24 #[serde(rename = "shared_ducklakes", skip_serializing_if = "Option::is_none")]
26 pub shared_ducklakes: Option<Vec<String>>,
27 #[serde(rename = "is_dev_workspace", skip_serializing_if = "Option::is_none")]
29 pub is_dev_workspace: Option<bool>,
30 #[serde(rename = "lock_prod_deploy", skip_serializing_if = "Option::is_none")]
32 pub lock_prod_deploy: Option<bool>,
33 #[serde(rename = "lock_prod_forking", skip_serializing_if = "Option::is_none")]
35 pub lock_prod_forking: Option<bool>,
36 #[serde(rename = "copy_members", skip_serializing_if = "Option::is_none")]
38 pub copy_members: Option<bool>,
39 #[serde(rename = "dev_workspace_label", skip_serializing_if = "Option::is_none")]
41 pub dev_workspace_label: Option<DevWorkspaceLabel>,
42}
43
44impl CreateWorkspaceFork {
45 pub fn new(id: String, name: String) -> CreateWorkspaceFork {
46 CreateWorkspaceFork {
47 id,
48 name,
49 color: None,
50 forked_datatables: None,
51 shared_ducklakes: None,
52 is_dev_workspace: None,
53 lock_prod_deploy: None,
54 lock_prod_forking: None,
55 copy_members: None,
56 dev_workspace_label: None,
57 }
58 }
59}
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum DevWorkspaceLabel {
63 #[serde(rename = "dev")]
64 Dev,
65 #[serde(rename = "staging")]
66 Staging,
67}
68
69impl Default for DevWorkspaceLabel {
70 fn default() -> DevWorkspaceLabel {
71 Self::Dev
72 }
73}
74