1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Shared types and utilities for the Unity Catalog server and client crates.
//!
//! Most of the crate is the generated Unity Catalog data model, produced from the
//! protobuf definitions in `proto/` and re-exported from [`models`]. On top of that
//! it collects the hand-written pieces both sides of the API depend on:
//!
//! - [`error`] — the crate-wide [`Error`] and [`Result`] types.
//! - [`reference`](mod@reference) — the `uc://` URL scheme for addressing catalog
//! securables ([`UCReference`]).
//! - [`store`] — the storage-abstraction trait ([`ResourceStore`](store::ResourceStore))
//! implemented by backends (feature `store`).
//! - [`services`] — envelope encryption for sealing sensitive fields inline
//! (feature `store`).
//! - [`credentials_ext`] — conversions to the `olai-storage-credentials` /
//! `olai-credential-vending` types (features `storage-credentials`, `credential-vending`).
//! - [`metric_view`] — the single parser for Unity Catalog metric-view definitions
//! (feature `metric-view`).
//!
//! # Feature flags
//!
//! The crate is feature-flag heavy so that downstream crates pull in only what they
//! need. Each generated model package sits behind a resource feature named after
//! its module (`catalogs`, `tables`, `credentials`, …); `all-resources` enables
//! them all. `rest-client` and `all-resources` are on by default; `grpc`, `axum`,
//! `sqlx`, `store`, `metric-view`, `python`, and `node` gate the corresponding
//! integrations. `store` and `python` span every resource and imply
//! `all-resources`. See the crate README for the full table.
pub use ;
pub use *;
pub use UCReference;