Skip to main content

unitycatalog_client/
lib.rs

1pub use codegen::UnityCatalogClient;
2pub use codegen::agent_skills::AgentSkillClient;
3pub use codegen::agents::AgentClient;
4pub use codegen::catalogs::CatalogClient;
5pub use codegen::credentials::CredentialClient;
6pub use codegen::external_locations::ExternalLocationClient;
7pub use codegen::functions::FunctionClient;
8pub use codegen::providers::ProviderClient;
9pub use codegen::recipients::RecipientClient;
10pub use codegen::schemas::SchemaClient;
11pub use codegen::shares::ShareClient;
12pub use codegen::staging_tables::StagingTableClient;
13pub use codegen::tables::TableClient;
14pub use codegen::tag_policies::TagPolicyClient;
15pub use codegen::volumes::VolumeClient;
16pub use delta_v1::DeltaV1Client;
17pub use error::*;
18pub use temporary_credentials::*;
19
20pub mod codegen;
21mod delta_v1;
22pub mod error;
23mod temporary_credentials;
24
25impl UnityCatalogClient {
26    /// Ergonomic accessor for the temporary credential vending client.
27    ///
28    /// Wraps the generated low-level client with the hand-written name → UUID resolving helpers
29    /// (`temporary_table_credential`, `temporary_volume_credential`, `temporary_path_credential`).
30    pub fn temporary_credentials(&self) -> TemporaryCredentialClient {
31        TemporaryCredentialClient::new(self.temporary_credentials_client())
32    }
33
34    /// Ergonomic accessor for the hand-written `/delta/v1/` Delta REST API client.
35    ///
36    /// Reuses the generated low-level `delta_commits` client's cloud client and base
37    /// URL (both carry the same auth + endpoint), so the Delta v1 client shares the
38    /// aggregate client's configuration without touching generated code.
39    pub fn delta_v1(&self) -> DeltaV1Client {
40        let base = self.delta_commits_client();
41        DeltaV1Client::new(base.client, base.base_url)
42    }
43}