windmill_api/models/
raw_script_assets_inner.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RawScriptAssetsInner {
16 #[serde(rename = "path")]
18 pub path: String,
19 #[serde(rename = "kind")]
21 pub kind: Kind,
22 #[serde(rename = "access_type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub access_type: Option<Option<AccessType>>,
25 #[serde(rename = "alt_access_type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub alt_access_type: Option<Option<AltAccessType>>,
28}
29
30impl RawScriptAssetsInner {
31 pub fn new(path: String, kind: Kind) -> RawScriptAssetsInner {
32 RawScriptAssetsInner {
33 path,
34 kind,
35 access_type: None,
36 alt_access_type: None,
37 }
38 }
39}
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum Kind {
43 #[serde(rename = "s3object")]
44 S3object,
45 #[serde(rename = "resource")]
46 Resource,
47 #[serde(rename = "ducklake")]
48 Ducklake,
49 #[serde(rename = "datatable")]
50 Datatable,
51 #[serde(rename = "volume")]
52 Volume,
53 #[serde(rename = "dbt")]
54 Dbt,
55}
56
57impl Default for Kind {
58 fn default() -> Kind {
59 Self::S3object
60 }
61}
62#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
64pub enum AccessType {
65 #[serde(rename = "r")]
66 R,
67 #[serde(rename = "w")]
68 W,
69 #[serde(rename = "rw")]
70 Rw,
71}
72
73impl Default for AccessType {
74 fn default() -> AccessType {
75 Self::R
76 }
77}
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
80pub enum AltAccessType {
81 #[serde(rename = "r")]
82 R,
83 #[serde(rename = "w")]
84 W,
85 #[serde(rename = "rw")]
86 Rw,
87}
88
89impl Default for AltAccessType {
90 fn default() -> AltAccessType {
91 Self::R
92 }
93}
94