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}
54
55impl Default for Kind {
56 fn default() -> Kind {
57 Self::S3object
58 }
59}
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum AccessType {
63 #[serde(rename = "r")]
64 R,
65 #[serde(rename = "w")]
66 W,
67 #[serde(rename = "rw")]
68 Rw,
69}
70
71impl Default for AccessType {
72 fn default() -> AccessType {
73 Self::R
74 }
75}
76#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
78pub enum AltAccessType {
79 #[serde(rename = "r")]
80 R,
81 #[serde(rename = "w")]
82 W,
83 #[serde(rename = "rw")]
84 Rw,
85}
86
87impl Default for AltAccessType {
88 fn default() -> AltAccessType {
89 Self::R
90 }
91}
92