langfuse_client_base/models/
create_blob_storage_integration_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct CreateBlobStorageIntegrationRequest {
16 #[serde(rename = "projectId")]
18 pub project_id: String,
19 #[serde(rename = "type")]
20 pub r#type: models::BlobStorageIntegrationType,
21 #[serde(rename = "bucketName")]
23 pub bucket_name: String,
24 #[serde(
26 rename = "endpoint",
27 default,
28 with = "::serde_with::rust::double_option",
29 skip_serializing_if = "Option::is_none"
30 )]
31 pub endpoint: Option<Option<String>>,
32 #[serde(rename = "region")]
34 pub region: String,
35 #[serde(
37 rename = "accessKeyId",
38 default,
39 with = "::serde_with::rust::double_option",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub access_key_id: Option<Option<String>>,
43 #[serde(
45 rename = "secretAccessKey",
46 default,
47 with = "::serde_with::rust::double_option",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub secret_access_key: Option<Option<String>>,
51 #[serde(
53 rename = "prefix",
54 default,
55 with = "::serde_with::rust::double_option",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub prefix: Option<Option<String>>,
59 #[serde(rename = "exportFrequency")]
60 pub export_frequency: models::BlobStorageExportFrequency,
61 #[serde(rename = "enabled")]
63 pub enabled: bool,
64 #[serde(rename = "forcePathStyle")]
66 pub force_path_style: bool,
67 #[serde(rename = "fileType")]
68 pub file_type: models::BlobStorageIntegrationFileType,
69 #[serde(rename = "exportMode")]
70 pub export_mode: models::BlobStorageExportMode,
71 #[serde(
73 rename = "exportStartDate",
74 default,
75 with = "::serde_with::rust::double_option",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub export_start_date: Option<Option<String>>,
79 #[serde(
81 rename = "compressed",
82 default,
83 with = "::serde_with::rust::double_option",
84 skip_serializing_if = "Option::is_none"
85 )]
86 pub compressed: Option<Option<bool>>,
87}
88
89impl CreateBlobStorageIntegrationRequest {
90 pub fn new(
91 project_id: String,
92 r#type: models::BlobStorageIntegrationType,
93 bucket_name: String,
94 region: String,
95 export_frequency: models::BlobStorageExportFrequency,
96 enabled: bool,
97 force_path_style: bool,
98 file_type: models::BlobStorageIntegrationFileType,
99 export_mode: models::BlobStorageExportMode,
100 ) -> CreateBlobStorageIntegrationRequest {
101 CreateBlobStorageIntegrationRequest {
102 project_id,
103 r#type,
104 bucket_name,
105 endpoint: None,
106 region,
107 access_key_id: None,
108 secret_access_key: None,
109 prefix: None,
110 export_frequency,
111 enabled,
112 force_path_style,
113 file_type,
114 export_mode,
115 export_start_date: None,
116 compressed: None,
117 }
118 }
119}