unitycatalog_client/codegen/schemas/
resource.rs1#![allow(unused_imports)]
3use super::builders::*;
4use super::client::SchemaServiceClient;
5use unitycatalog_common::models::agent_skills::v0alpha1::*;
6use unitycatalog_common::models::agents::v0alpha1::*;
7use unitycatalog_common::models::functions::v1::*;
8use unitycatalog_common::models::registered_models::v1::*;
9use unitycatalog_common::models::schemas::v1::*;
10use unitycatalog_common::models::tables::v1::*;
11use unitycatalog_common::models::volumes::v1::*;
12#[derive(Clone)]
14pub struct SchemaClient {
15 pub(crate) catalog_name: String,
16 pub(crate) schema_name: String,
17 pub(crate) client: SchemaServiceClient,
18}
19impl SchemaClient {
20 pub fn new(
22 catalog_name: impl Into<String>,
23 schema_name: impl Into<String>,
24 client: SchemaServiceClient,
25 ) -> Self {
26 Self {
27 catalog_name: catalog_name.into(),
28 schema_name: schema_name.into(),
29 client,
30 }
31 }
32 pub fn from_full_name(full_name: impl Into<String>, client: SchemaServiceClient) -> Self {
34 let full_name = full_name.into();
35 let mut parts = full_name.splitn(2usize, '.');
36 let catalog_name = parts.next().unwrap_or_default();
37 let schema_name = parts.next().unwrap_or_default();
38 Self::new(catalog_name, schema_name, client)
39 }
40 pub fn catalog_name(&self) -> &str {
42 &self.catalog_name
43 }
44 pub fn name(&self) -> &str {
46 &self.schema_name
47 }
48 pub fn full_name(&self) -> String {
50 format!("{}.{}", self.catalog_name, self.schema_name)
51 }
52 pub fn get(&self) -> GetSchemaBuilder {
56 GetSchemaBuilder::new(
57 self.client.clone(),
58 format!("{}.{}", self.catalog_name, self.schema_name),
59 )
60 }
61 pub fn update(&self) -> UpdateSchemaBuilder {
66 UpdateSchemaBuilder::new(
67 self.client.clone(),
68 format!("{}.{}", self.catalog_name, self.schema_name),
69 )
70 }
71 pub fn delete(&self) -> DeleteSchemaBuilder {
74 DeleteSchemaBuilder::new(
75 self.client.clone(),
76 format!("{}.{}", self.catalog_name, self.schema_name),
77 )
78 }
79 pub fn agent(&self, agent_name: impl Into<String>) -> crate::codegen::agents::AgentClient {
81 crate::codegen::agents::AgentClient::new(
82 &self.catalog_name,
83 &self.schema_name,
84 agent_name,
85 crate::codegen::agents::AgentServiceClient::new(
86 self.client.client.clone(),
87 self.client.base_url.clone(),
88 ),
89 )
90 }
91 pub fn create_agent(
93 &self,
94 name: impl Into<String>,
95 invocation_protocol: InvocationProtocol,
96 endpoint: impl Into<String>,
97 ) -> crate::codegen::agents::CreateAgentBuilder {
98 crate::codegen::agents::CreateAgentBuilder::new(
99 crate::codegen::agents::AgentServiceClient::new(
100 self.client.client.clone(),
101 self.client.base_url.clone(),
102 ),
103 &self.catalog_name,
104 &self.schema_name,
105 name,
106 invocation_protocol,
107 endpoint,
108 )
109 }
110 pub fn list_agents(&self) -> crate::codegen::agents::ListAgentsBuilder {
112 crate::codegen::agents::ListAgentsBuilder::new(
113 crate::codegen::agents::AgentServiceClient::new(
114 self.client.client.clone(),
115 self.client.base_url.clone(),
116 ),
117 &self.catalog_name,
118 &self.schema_name,
119 )
120 }
121 pub fn agent_skill(
123 &self,
124 agent_skill_name: impl Into<String>,
125 ) -> crate::codegen::agent_skills::AgentSkillClient {
126 crate::codegen::agent_skills::AgentSkillClient::new(
127 &self.catalog_name,
128 &self.schema_name,
129 agent_skill_name,
130 crate::codegen::agent_skills::AgentSkillServiceClient::new(
131 self.client.client.clone(),
132 self.client.base_url.clone(),
133 ),
134 )
135 }
136 pub fn create_agent_skill(
138 &self,
139 name: impl Into<String>,
140 agent_skill_type: AgentSkillType,
141 ) -> crate::codegen::agent_skills::CreateAgentSkillBuilder {
142 crate::codegen::agent_skills::CreateAgentSkillBuilder::new(
143 crate::codegen::agent_skills::AgentSkillServiceClient::new(
144 self.client.client.clone(),
145 self.client.base_url.clone(),
146 ),
147 &self.catalog_name,
148 &self.schema_name,
149 name,
150 agent_skill_type,
151 )
152 }
153 pub fn list_agent_skills(&self) -> crate::codegen::agent_skills::ListAgentSkillsBuilder {
155 crate::codegen::agent_skills::ListAgentSkillsBuilder::new(
156 crate::codegen::agent_skills::AgentSkillServiceClient::new(
157 self.client.client.clone(),
158 self.client.base_url.clone(),
159 ),
160 &self.catalog_name,
161 &self.schema_name,
162 )
163 }
164 pub fn function(
166 &self,
167 function_name: impl Into<String>,
168 ) -> crate::codegen::functions::FunctionClient {
169 crate::codegen::functions::FunctionClient::new(
170 &self.catalog_name,
171 &self.schema_name,
172 function_name,
173 crate::codegen::functions::FunctionServiceClient::new(
174 self.client.client.clone(),
175 self.client.base_url.clone(),
176 ),
177 )
178 }
179 pub fn create_function(
181 &self,
182 function_info: CreateFunction,
183 ) -> crate::codegen::functions::CreateFunctionBuilder {
184 crate::codegen::functions::CreateFunctionBuilder::new(
185 crate::codegen::functions::FunctionServiceClient::new(
186 self.client.client.clone(),
187 self.client.base_url.clone(),
188 ),
189 function_info,
190 )
191 }
192 pub fn list_functions(&self) -> crate::codegen::functions::ListFunctionsBuilder {
194 crate::codegen::functions::ListFunctionsBuilder::new(
195 crate::codegen::functions::FunctionServiceClient::new(
196 self.client.client.clone(),
197 self.client.base_url.clone(),
198 ),
199 &self.catalog_name,
200 &self.schema_name,
201 )
202 }
203 pub fn registered_model(
205 &self,
206 registered_model_name: impl Into<String>,
207 ) -> crate::codegen::registered_models::RegisteredModelClient {
208 crate::codegen::registered_models::RegisteredModelClient::new(
209 &self.catalog_name,
210 &self.schema_name,
211 registered_model_name,
212 crate::codegen::registered_models::RegisteredModelServiceClient::new(
213 self.client.client.clone(),
214 self.client.base_url.clone(),
215 ),
216 )
217 }
218 pub fn create_registered_model(
220 &self,
221 name: impl Into<String>,
222 ) -> crate::codegen::registered_models::CreateRegisteredModelBuilder {
223 crate::codegen::registered_models::CreateRegisteredModelBuilder::new(
224 crate::codegen::registered_models::RegisteredModelServiceClient::new(
225 self.client.client.clone(),
226 self.client.base_url.clone(),
227 ),
228 name,
229 &self.catalog_name,
230 &self.schema_name,
231 )
232 }
233 pub fn list_registered_models(
235 &self,
236 ) -> crate::codegen::registered_models::ListRegisteredModelsBuilder {
237 crate::codegen::registered_models::ListRegisteredModelsBuilder::new(
238 crate::codegen::registered_models::RegisteredModelServiceClient::new(
239 self.client.client.clone(),
240 self.client.base_url.clone(),
241 ),
242 )
243 }
244 pub fn table(&self, table_name: impl Into<String>) -> crate::codegen::tables::TableClient {
246 crate::codegen::tables::TableClient::new(
247 &self.catalog_name,
248 &self.schema_name,
249 table_name,
250 crate::codegen::tables::TableServiceClient::new(
251 self.client.client.clone(),
252 self.client.base_url.clone(),
253 ),
254 )
255 }
256 pub fn create_table(
258 &self,
259 name: impl Into<String>,
260 table_type: TableType,
261 data_source_format: DataSourceFormat,
262 ) -> crate::codegen::tables::CreateTableBuilder {
263 crate::codegen::tables::CreateTableBuilder::new(
264 crate::codegen::tables::TableServiceClient::new(
265 self.client.client.clone(),
266 self.client.base_url.clone(),
267 ),
268 name,
269 &self.schema_name,
270 &self.catalog_name,
271 table_type,
272 data_source_format,
273 )
274 }
275 pub fn list_tables(&self) -> crate::codegen::tables::ListTablesBuilder {
277 crate::codegen::tables::ListTablesBuilder::new(
278 crate::codegen::tables::TableServiceClient::new(
279 self.client.client.clone(),
280 self.client.base_url.clone(),
281 ),
282 &self.catalog_name,
283 &self.schema_name,
284 )
285 }
286 pub fn volume(&self, volume_name: impl Into<String>) -> crate::codegen::volumes::VolumeClient {
288 crate::codegen::volumes::VolumeClient::new(
289 &self.catalog_name,
290 &self.schema_name,
291 volume_name,
292 crate::codegen::volumes::VolumeServiceClient::new(
293 self.client.client.clone(),
294 self.client.base_url.clone(),
295 ),
296 )
297 }
298 pub fn create_volume(
300 &self,
301 name: impl Into<String>,
302 volume_type: VolumeType,
303 ) -> crate::codegen::volumes::CreateVolumeBuilder {
304 crate::codegen::volumes::CreateVolumeBuilder::new(
305 crate::codegen::volumes::VolumeServiceClient::new(
306 self.client.client.clone(),
307 self.client.base_url.clone(),
308 ),
309 &self.catalog_name,
310 &self.schema_name,
311 name,
312 volume_type,
313 )
314 }
315 pub fn list_volumes(&self) -> crate::codegen::volumes::ListVolumesBuilder {
317 crate::codegen::volumes::ListVolumesBuilder::new(
318 crate::codegen::volumes::VolumeServiceClient::new(
319 self.client.client.clone(),
320 self.client.base_url.clone(),
321 ),
322 &self.catalog_name,
323 &self.schema_name,
324 )
325 }
326}