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")]
17 pub path: String,
18 #[serde(rename = "kind")]
19 pub kind: Kind,
20 #[serde(rename = "access_type", skip_serializing_if = "Option::is_none")]
21 pub access_type: Option<AccessType>,
22 #[serde(rename = "alt_access_type", skip_serializing_if = "Option::is_none")]
23 pub alt_access_type: Option<AltAccessType>,
24}
25
26impl RawScriptAssetsInner {
27 pub fn new(path: String, kind: Kind) -> RawScriptAssetsInner {
28 RawScriptAssetsInner {
29 path,
30 kind,
31 access_type: None,
32 alt_access_type: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum Kind {
39 #[serde(rename = "s3object")]
40 S3object,
41 #[serde(rename = "resource")]
42 Resource,
43 #[serde(rename = "ducklake")]
44 Ducklake,
45}
46
47impl Default for Kind {
48 fn default() -> Kind {
49 Self::S3object
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum AccessType {
55 #[serde(rename = "r")]
56 R,
57 #[serde(rename = "w")]
58 W,
59 #[serde(rename = "rw")]
60 Rw,
61}
62
63impl Default for AccessType {
64 fn default() -> AccessType {
65 Self::R
66 }
67}
68#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum AltAccessType {
71 #[serde(rename = "r")]
72 R,
73 #[serde(rename = "w")]
74 W,
75 #[serde(rename = "rw")]
76 Rw,
77}
78
79impl Default for AltAccessType {
80 fn default() -> AltAccessType {
81 Self::R
82 }
83}
84