1#![allow(unused_imports)]
3use crate::codegen::agent_skills::*;
4use crate::codegen::agents::*;
5use crate::codegen::catalogs::*;
6use crate::codegen::credentials::*;
7use crate::codegen::entity_tag_assignments::*;
8use crate::codegen::external_locations::*;
9use crate::codegen::functions::*;
10use crate::codegen::model_versions::*;
11use crate::codegen::policies::*;
12use crate::codegen::providers::*;
13use crate::codegen::recipients::*;
14use crate::codegen::registered_models::*;
15use crate::codegen::schemas::*;
16use crate::codegen::shares::*;
17use crate::codegen::staging_tables::*;
18use crate::codegen::tables::*;
19use crate::codegen::tag_policies::*;
20use crate::codegen::temporary_credentials::*;
21use crate::codegen::volumes::*;
22use olai_http::CloudClient;
23use unitycatalog_common::models::agent_skills::v0alpha1::*;
24use unitycatalog_common::models::agents::v0alpha1::*;
25use unitycatalog_common::models::catalogs::v1::*;
26use unitycatalog_common::models::credentials::v1::*;
27use unitycatalog_common::models::external_locations::v1::*;
28use unitycatalog_common::models::functions::v1::*;
29use unitycatalog_common::models::model_versions::v1::*;
30use unitycatalog_common::models::policies::v1::*;
31use unitycatalog_common::models::providers::v1::*;
32use unitycatalog_common::models::recipients::v1::*;
33use unitycatalog_common::models::registered_models::v1::*;
34use unitycatalog_common::models::schemas::v1::*;
35use unitycatalog_common::models::shares::v1::*;
36use unitycatalog_common::models::staging_tables::v1::*;
37use unitycatalog_common::models::tables::v1::*;
38use unitycatalog_common::models::tags::v1::*;
39use unitycatalog_common::models::temporary_credentials::v1::*;
40use unitycatalog_common::models::volumes::v1::*;
41use url::Url;
42#[derive(Clone)]
43pub struct UnityCatalogClient {
44 client: CloudClient,
45 base_url: Url,
46}
47impl UnityCatalogClient {
48 pub fn new(client: CloudClient, mut base_url: Url) -> Self {
53 if !base_url.path().ends_with('/') {
54 base_url.set_path(&format!("{}/", base_url.path()));
55 }
56 Self { client, base_url }
57 }
58 pub fn new_unauthenticated(base_url: Url) -> Self {
60 Self::new(CloudClient::new_unauthenticated(), base_url)
61 }
62 pub fn new_with_token(base_url: Url, token: impl ToString) -> Self {
64 Self::new(CloudClient::new_with_token(token), base_url)
65 }
66 pub fn agent_skills_client(&self) -> crate::codegen::agent_skills::AgentSkillServiceClient {
68 crate::codegen::agent_skills::AgentSkillServiceClient::new(
69 self.client.clone(),
70 self.base_url.clone(),
71 )
72 }
73 pub fn agents_client(&self) -> crate::codegen::agents::AgentServiceClient {
75 crate::codegen::agents::AgentServiceClient::new(self.client.clone(), self.base_url.clone())
76 }
77 pub fn catalogs_client(&self) -> crate::codegen::catalogs::CatalogServiceClient {
79 crate::codegen::catalogs::CatalogServiceClient::new(
80 self.client.clone(),
81 self.base_url.clone(),
82 )
83 }
84 pub fn credentials_client(&self) -> crate::codegen::credentials::CredentialServiceClient {
86 crate::codegen::credentials::CredentialServiceClient::new(
87 self.client.clone(),
88 self.base_url.clone(),
89 )
90 }
91 pub fn entity_tag_assignments_client(
93 &self,
94 ) -> crate::codegen::entity_tag_assignments::EntityTagAssignmentClient {
95 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
96 self.client.clone(),
97 self.base_url.clone(),
98 )
99 }
100 pub fn external_locations_client(
102 &self,
103 ) -> crate::codegen::external_locations::ExternalLocationServiceClient {
104 crate::codegen::external_locations::ExternalLocationServiceClient::new(
105 self.client.clone(),
106 self.base_url.clone(),
107 )
108 }
109 pub fn functions_client(&self) -> crate::codegen::functions::FunctionServiceClient {
111 crate::codegen::functions::FunctionServiceClient::new(
112 self.client.clone(),
113 self.base_url.clone(),
114 )
115 }
116 pub fn model_versions_client(
118 &self,
119 ) -> crate::codegen::model_versions::ModelVersionServiceClient {
120 crate::codegen::model_versions::ModelVersionServiceClient::new(
121 self.client.clone(),
122 self.base_url.clone(),
123 )
124 }
125 pub fn policies_client(&self) -> crate::codegen::policies::PolicyServiceClient {
127 crate::codegen::policies::PolicyServiceClient::new(
128 self.client.clone(),
129 self.base_url.clone(),
130 )
131 }
132 pub fn providers_client(&self) -> crate::codegen::providers::ProviderServiceClient {
134 crate::codegen::providers::ProviderServiceClient::new(
135 self.client.clone(),
136 self.base_url.clone(),
137 )
138 }
139 pub fn recipients_client(&self) -> crate::codegen::recipients::RecipientServiceClient {
141 crate::codegen::recipients::RecipientServiceClient::new(
142 self.client.clone(),
143 self.base_url.clone(),
144 )
145 }
146 pub fn registered_models_client(
148 &self,
149 ) -> crate::codegen::registered_models::RegisteredModelServiceClient {
150 crate::codegen::registered_models::RegisteredModelServiceClient::new(
151 self.client.clone(),
152 self.base_url.clone(),
153 )
154 }
155 pub fn schemas_client(&self) -> crate::codegen::schemas::SchemaServiceClient {
157 crate::codegen::schemas::SchemaServiceClient::new(
158 self.client.clone(),
159 self.base_url.clone(),
160 )
161 }
162 pub fn shares_client(&self) -> crate::codegen::shares::ShareServiceClient {
164 crate::codegen::shares::ShareServiceClient::new(self.client.clone(), self.base_url.clone())
165 }
166 pub fn staging_tables_client(
168 &self,
169 ) -> crate::codegen::staging_tables::StagingTableServiceClient {
170 crate::codegen::staging_tables::StagingTableServiceClient::new(
171 self.client.clone(),
172 self.base_url.clone(),
173 )
174 }
175 pub fn tables_client(&self) -> crate::codegen::tables::TableServiceClient {
177 crate::codegen::tables::TableServiceClient::new(self.client.clone(), self.base_url.clone())
178 }
179 pub fn tag_policies_client(&self) -> crate::codegen::tag_policies::TagPolicyServiceClient {
181 crate::codegen::tag_policies::TagPolicyServiceClient::new(
182 self.client.clone(),
183 self.base_url.clone(),
184 )
185 }
186 pub fn temporary_credentials_client(
188 &self,
189 ) -> crate::codegen::temporary_credentials::TemporaryCredentialClient {
190 crate::codegen::temporary_credentials::TemporaryCredentialClient::new(
191 self.client.clone(),
192 self.base_url.clone(),
193 )
194 }
195 pub fn volumes_client(&self) -> crate::codegen::volumes::VolumeServiceClient {
197 crate::codegen::volumes::VolumeServiceClient::new(
198 self.client.clone(),
199 self.base_url.clone(),
200 )
201 }
202 pub fn list_agent_skills(
209 &self,
210 catalog_name: impl Into<String>,
211 schema_name: impl Into<String>,
212 ) -> ListAgentSkillsBuilder {
213 ListAgentSkillsBuilder::new(
214 crate::codegen::agent_skills::AgentSkillServiceClient::new(
215 self.client.clone(),
216 self.base_url.clone(),
217 ),
218 catalog_name,
219 schema_name,
220 )
221 }
222 pub fn create_agent_skill(
229 &self,
230 catalog_name: impl Into<String>,
231 schema_name: impl Into<String>,
232 name: impl Into<String>,
233 agent_skill_type: AgentSkillType,
234 ) -> CreateAgentSkillBuilder {
235 CreateAgentSkillBuilder::new(
236 crate::codegen::agent_skills::AgentSkillServiceClient::new(
237 self.client.clone(),
238 self.base_url.clone(),
239 ),
240 catalog_name,
241 schema_name,
242 name,
243 agent_skill_type,
244 )
245 }
246 pub fn agent_skill(
248 &self,
249 catalog_name: impl Into<String>,
250 schema_name: impl Into<String>,
251 agent_skill_name: impl Into<String>,
252 ) -> AgentSkillClient {
253 AgentSkillClient::new(
254 catalog_name,
255 schema_name,
256 agent_skill_name,
257 crate::codegen::agent_skills::AgentSkillServiceClient::new(
258 self.client.clone(),
259 self.base_url.clone(),
260 ),
261 )
262 }
263 pub fn agent_skill_from_full_name(&self, full_name: impl Into<String>) -> AgentSkillClient {
265 AgentSkillClient::from_full_name(
266 full_name,
267 crate::codegen::agent_skills::AgentSkillServiceClient::new(
268 self.client.clone(),
269 self.base_url.clone(),
270 ),
271 )
272 }
273 pub fn list_agents(
280 &self,
281 catalog_name: impl Into<String>,
282 schema_name: impl Into<String>,
283 ) -> ListAgentsBuilder {
284 ListAgentsBuilder::new(
285 crate::codegen::agents::AgentServiceClient::new(
286 self.client.clone(),
287 self.base_url.clone(),
288 ),
289 catalog_name,
290 schema_name,
291 )
292 }
293 pub fn create_agent(
301 &self,
302 catalog_name: impl Into<String>,
303 schema_name: impl Into<String>,
304 name: impl Into<String>,
305 invocation_protocol: InvocationProtocol,
306 endpoint: impl Into<String>,
307 ) -> CreateAgentBuilder {
308 CreateAgentBuilder::new(
309 crate::codegen::agents::AgentServiceClient::new(
310 self.client.clone(),
311 self.base_url.clone(),
312 ),
313 catalog_name,
314 schema_name,
315 name,
316 invocation_protocol,
317 endpoint,
318 )
319 }
320 pub fn agent(
322 &self,
323 catalog_name: impl Into<String>,
324 schema_name: impl Into<String>,
325 agent_name: impl Into<String>,
326 ) -> AgentClient {
327 AgentClient::new(
328 catalog_name,
329 schema_name,
330 agent_name,
331 crate::codegen::agents::AgentServiceClient::new(
332 self.client.clone(),
333 self.base_url.clone(),
334 ),
335 )
336 }
337 pub fn agent_from_full_name(&self, full_name: impl Into<String>) -> AgentClient {
339 AgentClient::from_full_name(
340 full_name,
341 crate::codegen::agents::AgentServiceClient::new(
342 self.client.clone(),
343 self.base_url.clone(),
344 ),
345 )
346 }
347 pub fn list_catalogs(&self) -> ListCatalogsBuilder {
354 ListCatalogsBuilder::new(crate::codegen::catalogs::CatalogServiceClient::new(
355 self.client.clone(),
356 self.base_url.clone(),
357 ))
358 }
359 pub fn create_catalog(&self, name: impl Into<String>) -> CreateCatalogBuilder {
368 CreateCatalogBuilder::new(
369 crate::codegen::catalogs::CatalogServiceClient::new(
370 self.client.clone(),
371 self.base_url.clone(),
372 ),
373 name,
374 )
375 }
376 pub fn catalog(&self, catalog_name: impl Into<String>) -> CatalogClient {
378 CatalogClient::new(
379 catalog_name,
380 crate::codegen::catalogs::CatalogServiceClient::new(
381 self.client.clone(),
382 self.base_url.clone(),
383 ),
384 )
385 }
386 pub fn list_credentials(&self) -> ListCredentialsBuilder {
387 ListCredentialsBuilder::new(crate::codegen::credentials::CredentialServiceClient::new(
388 self.client.clone(),
389 self.base_url.clone(),
390 ))
391 }
392 pub fn create_credential(
397 &self,
398 name: impl Into<String>,
399 purpose: Purpose,
400 ) -> CreateCredentialBuilder {
401 CreateCredentialBuilder::new(
402 crate::codegen::credentials::CredentialServiceClient::new(
403 self.client.clone(),
404 self.base_url.clone(),
405 ),
406 name,
407 purpose,
408 )
409 }
410 pub fn credential(&self, credential_name: impl Into<String>) -> CredentialClient {
412 CredentialClient::new(
413 credential_name,
414 crate::codegen::credentials::CredentialServiceClient::new(
415 self.client.clone(),
416 self.base_url.clone(),
417 ),
418 )
419 }
420 pub fn list_entity_tag_assignments(
429 &self,
430 entity_type: impl Into<String>,
431 entity_name: impl Into<String>,
432 ) -> ListEntityTagAssignmentsBuilder {
433 ListEntityTagAssignmentsBuilder::new(
434 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
435 self.client.clone(),
436 self.base_url.clone(),
437 ),
438 entity_type,
439 entity_name,
440 )
441 }
442 pub fn create_entity_tag_assignment(
450 &self,
451 tag_assignment: EntityTagAssignment,
452 ) -> CreateEntityTagAssignmentBuilder {
453 CreateEntityTagAssignmentBuilder::new(
454 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
455 self.client.clone(),
456 self.base_url.clone(),
457 ),
458 tag_assignment,
459 )
460 }
461 pub fn get_entity_tag_assignment(
471 &self,
472 entity_type: impl Into<String>,
473 entity_name: impl Into<String>,
474 tag_key: impl Into<String>,
475 ) -> GetEntityTagAssignmentBuilder {
476 GetEntityTagAssignmentBuilder::new(
477 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
478 self.client.clone(),
479 self.base_url.clone(),
480 ),
481 entity_type,
482 entity_name,
483 tag_key,
484 )
485 }
486 pub fn update_entity_tag_assignment(
497 &self,
498 entity_type: impl Into<String>,
499 entity_name: impl Into<String>,
500 tag_key: impl Into<String>,
501 tag_assignment: EntityTagAssignment,
502 ) -> UpdateEntityTagAssignmentBuilder {
503 UpdateEntityTagAssignmentBuilder::new(
504 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
505 self.client.clone(),
506 self.base_url.clone(),
507 ),
508 entity_type,
509 entity_name,
510 tag_key,
511 tag_assignment,
512 )
513 }
514 pub fn delete_entity_tag_assignment(
524 &self,
525 entity_type: impl Into<String>,
526 entity_name: impl Into<String>,
527 tag_key: impl Into<String>,
528 ) -> DeleteEntityTagAssignmentBuilder {
529 DeleteEntityTagAssignmentBuilder::new(
530 crate::codegen::entity_tag_assignments::EntityTagAssignmentClient::new(
531 self.client.clone(),
532 self.base_url.clone(),
533 ),
534 entity_type,
535 entity_name,
536 tag_key,
537 )
538 }
539 pub fn list_external_locations(&self) -> ListExternalLocationsBuilder {
541 ListExternalLocationsBuilder::new(
542 crate::codegen::external_locations::ExternalLocationServiceClient::new(
543 self.client.clone(),
544 self.base_url.clone(),
545 ),
546 )
547 }
548 pub fn create_external_location(
556 &self,
557 name: impl Into<String>,
558 url: impl Into<String>,
559 credential_name: impl Into<String>,
560 ) -> CreateExternalLocationBuilder {
561 CreateExternalLocationBuilder::new(
562 crate::codegen::external_locations::ExternalLocationServiceClient::new(
563 self.client.clone(),
564 self.base_url.clone(),
565 ),
566 name,
567 url,
568 credential_name,
569 )
570 }
571 pub fn external_location(
573 &self,
574 external_location_name: impl Into<String>,
575 ) -> ExternalLocationClient {
576 ExternalLocationClient::new(
577 external_location_name,
578 crate::codegen::external_locations::ExternalLocationServiceClient::new(
579 self.client.clone(),
580 self.base_url.clone(),
581 ),
582 )
583 }
584 pub fn list_functions(
596 &self,
597 catalog_name: impl Into<String>,
598 schema_name: impl Into<String>,
599 ) -> ListFunctionsBuilder {
600 ListFunctionsBuilder::new(
601 crate::codegen::functions::FunctionServiceClient::new(
602 self.client.clone(),
603 self.base_url.clone(),
604 ),
605 catalog_name,
606 schema_name,
607 )
608 }
609 pub fn create_function(&self, function_info: CreateFunction) -> CreateFunctionBuilder {
618 CreateFunctionBuilder::new(
619 crate::codegen::functions::FunctionServiceClient::new(
620 self.client.clone(),
621 self.base_url.clone(),
622 ),
623 function_info,
624 )
625 }
626 pub fn function(
628 &self,
629 catalog_name: impl Into<String>,
630 schema_name: impl Into<String>,
631 function_name: impl Into<String>,
632 ) -> FunctionClient {
633 FunctionClient::new(
634 catalog_name,
635 schema_name,
636 function_name,
637 crate::codegen::functions::FunctionServiceClient::new(
638 self.client.clone(),
639 self.base_url.clone(),
640 ),
641 )
642 }
643 pub fn function_from_full_name(&self, full_name: impl Into<String>) -> FunctionClient {
645 FunctionClient::from_full_name(
646 full_name,
647 crate::codegen::functions::FunctionServiceClient::new(
648 self.client.clone(),
649 self.base_url.clone(),
650 ),
651 )
652 }
653 pub fn list_model_versions(&self, full_name: impl Into<String>) -> ListModelVersionsBuilder {
664 ListModelVersionsBuilder::new(
665 crate::codegen::model_versions::ModelVersionServiceClient::new(
666 self.client.clone(),
667 self.base_url.clone(),
668 ),
669 full_name,
670 )
671 }
672 pub fn create_model_version(
686 &self,
687 model_name: impl Into<String>,
688 catalog_name: impl Into<String>,
689 schema_name: impl Into<String>,
690 source: impl Into<String>,
691 ) -> CreateModelVersionBuilder {
692 CreateModelVersionBuilder::new(
693 crate::codegen::model_versions::ModelVersionServiceClient::new(
694 self.client.clone(),
695 self.base_url.clone(),
696 ),
697 model_name,
698 catalog_name,
699 schema_name,
700 source,
701 )
702 }
703 pub fn get_model_version(
713 &self,
714 full_name: impl Into<String>,
715 version: i64,
716 ) -> GetModelVersionBuilder {
717 GetModelVersionBuilder::new(
718 crate::codegen::model_versions::ModelVersionServiceClient::new(
719 self.client.clone(),
720 self.base_url.clone(),
721 ),
722 full_name,
723 version,
724 )
725 }
726 pub fn update_model_version(
736 &self,
737 full_name: impl Into<String>,
738 version: i64,
739 ) -> UpdateModelVersionBuilder {
740 UpdateModelVersionBuilder::new(
741 crate::codegen::model_versions::ModelVersionServiceClient::new(
742 self.client.clone(),
743 self.base_url.clone(),
744 ),
745 full_name,
746 version,
747 )
748 }
749 pub fn delete_model_version(
761 &self,
762 full_name: impl Into<String>,
763 version: i64,
764 ) -> DeleteModelVersionBuilder {
765 DeleteModelVersionBuilder::new(
766 crate::codegen::model_versions::ModelVersionServiceClient::new(
767 self.client.clone(),
768 self.base_url.clone(),
769 ),
770 full_name,
771 version,
772 )
773 }
774 pub fn finalize_model_version(
785 &self,
786 full_name: impl Into<String>,
787 version: i64,
788 ) -> FinalizeModelVersionBuilder {
789 FinalizeModelVersionBuilder::new(
790 crate::codegen::model_versions::ModelVersionServiceClient::new(
791 self.client.clone(),
792 self.base_url.clone(),
793 ),
794 full_name,
795 version,
796 )
797 }
798 pub fn list_policies(
810 &self,
811 on_securable_type: impl Into<String>,
812 on_securable_fullname: impl Into<String>,
813 ) -> ListPoliciesBuilder {
814 ListPoliciesBuilder::new(
815 crate::codegen::policies::PolicyServiceClient::new(
816 self.client.clone(),
817 self.base_url.clone(),
818 ),
819 on_securable_type,
820 on_securable_fullname,
821 )
822 }
823 pub fn policy(&self, policy_name: impl Into<String>) -> PolicyClient {
825 PolicyClient::new(
826 policy_name,
827 crate::codegen::policies::PolicyServiceClient::new(
828 self.client.clone(),
829 self.base_url.clone(),
830 ),
831 )
832 }
833 pub fn list_providers(&self) -> ListProvidersBuilder {
835 ListProvidersBuilder::new(crate::codegen::providers::ProviderServiceClient::new(
836 self.client.clone(),
837 self.base_url.clone(),
838 ))
839 }
840 pub fn create_provider(
847 &self,
848 name: impl Into<String>,
849 authentication_type: ProviderAuthenticationType,
850 ) -> CreateProviderBuilder {
851 CreateProviderBuilder::new(
852 crate::codegen::providers::ProviderServiceClient::new(
853 self.client.clone(),
854 self.base_url.clone(),
855 ),
856 name,
857 authentication_type,
858 )
859 }
860 pub fn provider(&self, provider_name: impl Into<String>) -> ProviderClient {
862 ProviderClient::new(
863 provider_name,
864 crate::codegen::providers::ProviderServiceClient::new(
865 self.client.clone(),
866 self.base_url.clone(),
867 ),
868 )
869 }
870 pub fn list_recipients(&self) -> ListRecipientsBuilder {
872 ListRecipientsBuilder::new(crate::codegen::recipients::RecipientServiceClient::new(
873 self.client.clone(),
874 self.base_url.clone(),
875 ))
876 }
877 pub fn create_recipient(
885 &self,
886 name: impl Into<String>,
887 authentication_type: AuthenticationType,
888 owner: impl Into<String>,
889 ) -> CreateRecipientBuilder {
890 CreateRecipientBuilder::new(
891 crate::codegen::recipients::RecipientServiceClient::new(
892 self.client.clone(),
893 self.base_url.clone(),
894 ),
895 name,
896 authentication_type,
897 owner,
898 )
899 }
900 pub fn recipient(&self, recipient_name: impl Into<String>) -> RecipientClient {
902 RecipientClient::new(
903 recipient_name,
904 crate::codegen::recipients::RecipientServiceClient::new(
905 self.client.clone(),
906 self.base_url.clone(),
907 ),
908 )
909 }
910 pub fn list_registered_models(&self) -> ListRegisteredModelsBuilder {
918 ListRegisteredModelsBuilder::new(
919 crate::codegen::registered_models::RegisteredModelServiceClient::new(
920 self.client.clone(),
921 self.base_url.clone(),
922 ),
923 )
924 }
925 pub fn create_registered_model(
936 &self,
937 name: impl Into<String>,
938 catalog_name: impl Into<String>,
939 schema_name: impl Into<String>,
940 ) -> CreateRegisteredModelBuilder {
941 CreateRegisteredModelBuilder::new(
942 crate::codegen::registered_models::RegisteredModelServiceClient::new(
943 self.client.clone(),
944 self.base_url.clone(),
945 ),
946 name,
947 catalog_name,
948 schema_name,
949 )
950 }
951 pub fn registered_model(
953 &self,
954 catalog_name: impl Into<String>,
955 schema_name: impl Into<String>,
956 registered_model_name: impl Into<String>,
957 ) -> RegisteredModelClient {
958 RegisteredModelClient::new(
959 catalog_name,
960 schema_name,
961 registered_model_name,
962 crate::codegen::registered_models::RegisteredModelServiceClient::new(
963 self.client.clone(),
964 self.base_url.clone(),
965 ),
966 )
967 }
968 pub fn registered_model_from_full_name(
970 &self,
971 full_name: impl Into<String>,
972 ) -> RegisteredModelClient {
973 RegisteredModelClient::from_full_name(
974 full_name,
975 crate::codegen::registered_models::RegisteredModelServiceClient::new(
976 self.client.clone(),
977 self.base_url.clone(),
978 ),
979 )
980 }
981 pub fn list_schemas(&self, catalog_name: impl Into<String>) -> ListSchemasBuilder {
990 ListSchemasBuilder::new(
991 crate::codegen::schemas::SchemaServiceClient::new(
992 self.client.clone(),
993 self.base_url.clone(),
994 ),
995 catalog_name,
996 )
997 }
998 pub fn create_schema(
1006 &self,
1007 name: impl Into<String>,
1008 catalog_name: impl Into<String>,
1009 ) -> CreateSchemaBuilder {
1010 CreateSchemaBuilder::new(
1011 crate::codegen::schemas::SchemaServiceClient::new(
1012 self.client.clone(),
1013 self.base_url.clone(),
1014 ),
1015 name,
1016 catalog_name,
1017 )
1018 }
1019 pub fn schema(
1021 &self,
1022 catalog_name: impl Into<String>,
1023 schema_name: impl Into<String>,
1024 ) -> SchemaClient {
1025 SchemaClient::new(
1026 catalog_name,
1027 schema_name,
1028 crate::codegen::schemas::SchemaServiceClient::new(
1029 self.client.clone(),
1030 self.base_url.clone(),
1031 ),
1032 )
1033 }
1034 pub fn schema_from_full_name(&self, full_name: impl Into<String>) -> SchemaClient {
1036 SchemaClient::from_full_name(
1037 full_name,
1038 crate::codegen::schemas::SchemaServiceClient::new(
1039 self.client.clone(),
1040 self.base_url.clone(),
1041 ),
1042 )
1043 }
1044 pub fn list_shares(&self) -> ListSharesBuilder {
1046 ListSharesBuilder::new(crate::codegen::shares::ShareServiceClient::new(
1047 self.client.clone(),
1048 self.base_url.clone(),
1049 ))
1050 }
1051 pub fn create_share(&self, name: impl Into<String>) -> CreateShareBuilder {
1057 CreateShareBuilder::new(
1058 crate::codegen::shares::ShareServiceClient::new(
1059 self.client.clone(),
1060 self.base_url.clone(),
1061 ),
1062 name,
1063 )
1064 }
1065 pub fn share(&self, share_name: impl Into<String>) -> ShareClient {
1067 ShareClient::new(
1068 share_name,
1069 crate::codegen::shares::ShareServiceClient::new(
1070 self.client.clone(),
1071 self.base_url.clone(),
1072 ),
1073 )
1074 }
1075 pub fn create_staging_table(
1085 &self,
1086 name: impl Into<String>,
1087 catalog_name: impl Into<String>,
1088 schema_name: impl Into<String>,
1089 ) -> CreateStagingTableBuilder {
1090 CreateStagingTableBuilder::new(
1091 crate::codegen::staging_tables::StagingTableServiceClient::new(
1092 self.client.clone(),
1093 self.base_url.clone(),
1094 ),
1095 name,
1096 catalog_name,
1097 schema_name,
1098 )
1099 }
1100 pub fn staging_table(&self, staging_table_name: impl Into<String>) -> StagingTableClient {
1102 StagingTableClient::new(
1103 staging_table_name,
1104 crate::codegen::staging_tables::StagingTableServiceClient::new(
1105 self.client.clone(),
1106 self.base_url.clone(),
1107 ),
1108 )
1109 }
1110 pub fn list_table_summaries(
1122 &self,
1123 catalog_name: impl Into<String>,
1124 ) -> ListTableSummariesBuilder {
1125 ListTableSummariesBuilder::new(
1126 crate::codegen::tables::TableServiceClient::new(
1127 self.client.clone(),
1128 self.base_url.clone(),
1129 ),
1130 catalog_name,
1131 )
1132 }
1133 pub fn list_tables(
1145 &self,
1146 catalog_name: impl Into<String>,
1147 schema_name: impl Into<String>,
1148 ) -> ListTablesBuilder {
1149 ListTablesBuilder::new(
1150 crate::codegen::tables::TableServiceClient::new(
1151 self.client.clone(),
1152 self.base_url.clone(),
1153 ),
1154 catalog_name,
1155 schema_name,
1156 )
1157 }
1158 pub fn create_table(
1166 &self,
1167 name: impl Into<String>,
1168 schema_name: impl Into<String>,
1169 catalog_name: impl Into<String>,
1170 table_type: TableType,
1171 data_source_format: DataSourceFormat,
1172 ) -> CreateTableBuilder {
1173 CreateTableBuilder::new(
1174 crate::codegen::tables::TableServiceClient::new(
1175 self.client.clone(),
1176 self.base_url.clone(),
1177 ),
1178 name,
1179 schema_name,
1180 catalog_name,
1181 table_type,
1182 data_source_format,
1183 )
1184 }
1185 pub fn table(
1187 &self,
1188 catalog_name: impl Into<String>,
1189 schema_name: impl Into<String>,
1190 table_name: impl Into<String>,
1191 ) -> TableClient {
1192 TableClient::new(
1193 catalog_name,
1194 schema_name,
1195 table_name,
1196 crate::codegen::tables::TableServiceClient::new(
1197 self.client.clone(),
1198 self.base_url.clone(),
1199 ),
1200 )
1201 }
1202 pub fn table_from_full_name(&self, full_name: impl Into<String>) -> TableClient {
1204 TableClient::from_full_name(
1205 full_name,
1206 crate::codegen::tables::TableServiceClient::new(
1207 self.client.clone(),
1208 self.base_url.clone(),
1209 ),
1210 )
1211 }
1212 pub fn list_tag_policies(&self) -> ListTagPoliciesBuilder {
1217 ListTagPoliciesBuilder::new(crate::codegen::tag_policies::TagPolicyServiceClient::new(
1218 self.client.clone(),
1219 self.base_url.clone(),
1220 ))
1221 }
1222 pub fn create_tag_policy(&self, tag_policy: TagPolicy) -> CreateTagPolicyBuilder {
1230 CreateTagPolicyBuilder::new(
1231 crate::codegen::tag_policies::TagPolicyServiceClient::new(
1232 self.client.clone(),
1233 self.base_url.clone(),
1234 ),
1235 tag_policy,
1236 )
1237 }
1238 pub fn tag_policy(&self, tag_policy_name: impl Into<String>) -> TagPolicyClient {
1240 TagPolicyClient::new(
1241 tag_policy_name,
1242 crate::codegen::tag_policies::TagPolicyServiceClient::new(
1243 self.client.clone(),
1244 self.base_url.clone(),
1245 ),
1246 )
1247 }
1248 pub fn generate_temporary_table_credentials(
1257 &self,
1258 table_id: impl Into<String>,
1259 operation: generate_temporary_table_credentials_request::Operation,
1260 ) -> GenerateTemporaryTableCredentialsBuilder {
1261 GenerateTemporaryTableCredentialsBuilder::new(
1262 crate::codegen::temporary_credentials::TemporaryCredentialClient::new(
1263 self.client.clone(),
1264 self.base_url.clone(),
1265 ),
1266 table_id,
1267 operation,
1268 )
1269 }
1270 pub fn generate_temporary_path_credentials(
1277 &self,
1278 url: impl Into<String>,
1279 operation: generate_temporary_path_credentials_request::Operation,
1280 ) -> GenerateTemporaryPathCredentialsBuilder {
1281 GenerateTemporaryPathCredentialsBuilder::new(
1282 crate::codegen::temporary_credentials::TemporaryCredentialClient::new(
1283 self.client.clone(),
1284 self.base_url.clone(),
1285 ),
1286 url,
1287 operation,
1288 )
1289 }
1290 pub fn generate_temporary_volume_credentials(
1303 &self,
1304 volume_id: impl Into<String>,
1305 operation: generate_temporary_volume_credentials_request::Operation,
1306 ) -> GenerateTemporaryVolumeCredentialsBuilder {
1307 GenerateTemporaryVolumeCredentialsBuilder::new(
1308 crate::codegen::temporary_credentials::TemporaryCredentialClient::new(
1309 self.client.clone(),
1310 self.base_url.clone(),
1311 ),
1312 volume_id,
1313 operation,
1314 )
1315 }
1316 pub fn generate_temporary_model_version_credentials(
1333 &self,
1334 catalog_name: impl Into<String>,
1335 schema_name: impl Into<String>,
1336 model_name: impl Into<String>,
1337 version: i64,
1338 operation: generate_temporary_model_version_credentials_request::Operation,
1339 ) -> GenerateTemporaryModelVersionCredentialsBuilder {
1340 GenerateTemporaryModelVersionCredentialsBuilder::new(
1341 crate::codegen::temporary_credentials::TemporaryCredentialClient::new(
1342 self.client.clone(),
1343 self.base_url.clone(),
1344 ),
1345 catalog_name,
1346 schema_name,
1347 model_name,
1348 version,
1349 operation,
1350 )
1351 }
1352 pub fn list_volumes(
1359 &self,
1360 catalog_name: impl Into<String>,
1361 schema_name: impl Into<String>,
1362 ) -> ListVolumesBuilder {
1363 ListVolumesBuilder::new(
1364 crate::codegen::volumes::VolumeServiceClient::new(
1365 self.client.clone(),
1366 self.base_url.clone(),
1367 ),
1368 catalog_name,
1369 schema_name,
1370 )
1371 }
1372 pub fn create_volume(
1383 &self,
1384 catalog_name: impl Into<String>,
1385 schema_name: impl Into<String>,
1386 name: impl Into<String>,
1387 volume_type: VolumeType,
1388 ) -> CreateVolumeBuilder {
1389 CreateVolumeBuilder::new(
1390 crate::codegen::volumes::VolumeServiceClient::new(
1391 self.client.clone(),
1392 self.base_url.clone(),
1393 ),
1394 catalog_name,
1395 schema_name,
1396 name,
1397 volume_type,
1398 )
1399 }
1400 pub fn volume(
1402 &self,
1403 catalog_name: impl Into<String>,
1404 schema_name: impl Into<String>,
1405 volume_name: impl Into<String>,
1406 ) -> VolumeClient {
1407 VolumeClient::new(
1408 catalog_name,
1409 schema_name,
1410 volume_name,
1411 crate::codegen::volumes::VolumeServiceClient::new(
1412 self.client.clone(),
1413 self.base_url.clone(),
1414 ),
1415 )
1416 }
1417 pub fn volume_from_full_name(&self, full_name: impl Into<String>) -> VolumeClient {
1419 VolumeClient::from_full_name(
1420 full_name,
1421 crate::codegen::volumes::VolumeServiceClient::new(
1422 self.client.clone(),
1423 self.base_url.clone(),
1424 ),
1425 )
1426 }
1427}