1#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
4#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5pub struct DataObject {
6 #[prost(string, tag="1")]
10 pub name: ::prost::alloc::string::String,
11 #[prost(enumeration="DataObjectType", tag="2")]
13 pub data_object_type: i32,
14 #[prost(int64, optional, tag="3")]
16 pub added_at: ::core::option::Option<i64>,
17 #[prost(string, optional, tag="4")]
19 pub added_by: ::core::option::Option<::prost::alloc::string::String>,
20 #[prost(string, optional, tag="5")]
22 pub comment: ::core::option::Option<::prost::alloc::string::String>,
23 #[prost(string, optional, tag="6")]
29 pub shared_as: ::core::option::Option<::prost::alloc::string::String>,
30 #[prost(string, repeated, tag="7")]
32 pub partitions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
33 #[prost(bool, optional, tag="8")]
35 pub enable_cdf: ::core::option::Option<bool>,
36 #[prost(enumeration="HistoryStatus", optional, tag="9")]
38 pub history_data_sharing_status: ::core::option::Option<i32>,
39 #[prost(int64, optional, tag="10")]
47 pub start_version: ::core::option::Option<i64>,
48}
49#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
50#[derive(Clone, PartialEq, ::prost::Message)]
51pub struct Share {
52 #[prost(string, optional, tag="100")]
54 pub id: ::core::option::Option<::prost::alloc::string::String>,
55 #[prost(string, tag="1")]
57 pub name: ::prost::alloc::string::String,
58 #[prost(message, repeated, tag="6")]
60 pub objects: ::prost::alloc::vec::Vec<DataObject>,
61 #[prost(string, optional, tag="2")]
63 pub owner: ::core::option::Option<::prost::alloc::string::String>,
64 #[prost(string, optional, tag="3")]
66 pub comment: ::core::option::Option<::prost::alloc::string::String>,
67 #[prost(string, optional, tag="4")]
69 pub storage_location: ::core::option::Option<::prost::alloc::string::String>,
70 #[prost(string, optional, tag="5")]
72 pub storage_root: ::core::option::Option<::prost::alloc::string::String>,
73 #[prost(int64, optional, tag="7")]
75 pub created_at: ::core::option::Option<i64>,
76 #[prost(string, optional, tag="8")]
78 pub created_by: ::core::option::Option<::prost::alloc::string::String>,
79 #[prost(int64, optional, tag="9")]
81 pub updated_at: ::core::option::Option<i64>,
82 #[prost(string, optional, tag="10")]
84 pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
85}
86#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
87#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
88pub struct PrivilegeAssignment {
89 #[prost(string, tag="1")]
93 pub principal: ::prost::alloc::string::String,
94 #[prost(string, repeated, tag="2")]
96 pub privileges: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
97}
98#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
99#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
100pub struct PermissionsChange {
101 #[prost(string, tag="1")]
103 pub principal: ::prost::alloc::string::String,
104 #[prost(string, repeated, tag="2")]
106 pub add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
107 #[prost(string, repeated, tag="3")]
109 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
110}
111#[cfg_attr(feature = "python", ::pyo3::pyclass)]
112#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
113#[repr(i32)]
114pub enum DataObjectType {
115 Unspecified = 0,
117 Table = 1,
118 Schema = 2,
119 Volume = 10,
135 AgentSkill = 11,
138}
139impl DataObjectType {
140 pub fn as_str_name(&self) -> &'static str {
145 match self {
146 Self::Unspecified => "DATA_OBJECT_TYPE_UNSPECIFIED",
147 Self::Table => "TABLE",
148 Self::Schema => "SCHEMA",
149 Self::Volume => "VOLUME",
150 Self::AgentSkill => "AGENT_SKILL",
151 }
152 }
153 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
155 match value {
156 "DATA_OBJECT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
157 "TABLE" => Some(Self::Table),
158 "SCHEMA" => Some(Self::Schema),
159 "VOLUME" => Some(Self::Volume),
160 "AGENT_SKILL" => Some(Self::AgentSkill),
161 _ => None,
162 }
163 }
164}
165#[cfg_attr(feature = "python", ::pyo3::pyclass)]
166#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
167#[repr(i32)]
168pub enum HistoryStatus {
169 Disabled = 0,
171 Enabled = 1,
173}
174impl HistoryStatus {
175 pub fn as_str_name(&self) -> &'static str {
180 match self {
181 Self::Disabled => "DISABLED",
182 Self::Enabled => "ENABLED",
183 }
184 }
185 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
187 match value {
188 "DISABLED" => Some(Self::Disabled),
189 "ENABLED" => Some(Self::Enabled),
190 _ => None,
191 }
192 }
193}
194#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
196#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
197pub struct ListSharesRequest {
198 #[prost(int32, optional, tag="1")]
200 pub max_results: ::core::option::Option<i32>,
201 #[prost(string, optional, tag="2")]
203 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
204}
205#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct ListSharesResponse {
209 #[prost(message, repeated, tag="1")]
211 pub shares: ::prost::alloc::vec::Vec<Share>,
212 #[prost(string, optional, tag="2")]
214 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
215}
216#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
221#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
222pub struct CreateShareRequest {
223 #[prost(string, tag="1")]
225 pub name: ::prost::alloc::string::String,
226 #[prost(string, optional, tag="2")]
228 pub comment: ::core::option::Option<::prost::alloc::string::String>,
229}
230#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
232#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
233pub struct GetShareRequest {
234 #[prost(string, tag="1")]
236 pub name: ::prost::alloc::string::String,
237 #[prost(bool, optional, tag="2")]
239 pub include_shared_data: ::core::option::Option<bool>,
240}
241#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
243#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
244pub struct DataObjectUpdate {
245 #[prost(enumeration="Action", tag="1")]
247 pub action: i32,
248 #[prost(message, optional, tag="2")]
250 pub data_object: ::core::option::Option<DataObject>,
251}
252#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
256#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct UpdateShareRequest {
258 #[prost(string, tag="1")]
260 pub name: ::prost::alloc::string::String,
261 #[prost(message, repeated, tag="2")]
263 pub updates: ::prost::alloc::vec::Vec<DataObjectUpdate>,
264 #[prost(string, optional, tag="3")]
266 pub new_name: ::core::option::Option<::prost::alloc::string::String>,
267 #[prost(string, optional, tag="4")]
269 pub owner: ::core::option::Option<::prost::alloc::string::String>,
270 #[prost(string, optional, tag="5")]
272 pub comment: ::core::option::Option<::prost::alloc::string::String>,
273}
274#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
278#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
279pub struct DeleteShareRequest {
280 #[prost(string, tag="1")]
282 pub name: ::prost::alloc::string::String,
283}
284#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
286#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
287pub struct GetPermissionsRequest {
288 #[prost(string, tag="1")]
290 pub name: ::prost::alloc::string::String,
291 #[prost(int32, optional, tag="2")]
293 pub max_results: ::core::option::Option<i32>,
294 #[prost(string, optional, tag="3")]
296 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
297}
298#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct GetPermissionsResponse {
302 #[prost(message, repeated, tag="1")]
304 pub privilege_assignments: ::prost::alloc::vec::Vec<PrivilegeAssignment>,
305 #[prost(string, optional, tag="2")]
307 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
308}
309#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct UpdatePermissionsRequest {
312 #[prost(string, tag="1")]
314 pub name: ::prost::alloc::string::String,
315 #[prost(message, repeated, tag="2")]
317 pub changes: ::prost::alloc::vec::Vec<PermissionsChange>,
318 #[prost(bool, optional, tag="3")]
320 pub omit_permissions_list: ::core::option::Option<bool>,
321}
322#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
323#[derive(Clone, PartialEq, ::prost::Message)]
324pub struct UpdatePermissionsResponse {
325 #[prost(message, repeated, tag="1")]
327 pub privilege_assignments: ::prost::alloc::vec::Vec<PrivilegeAssignment>,
328}
329#[cfg_attr(feature = "python", ::pyo3::pyclass)]
330#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
331#[repr(i32)]
332pub enum Action {
333 Unspecified = 0,
335 Add = 1,
336 Remove = 2,
337 Update = 3,
338}
339impl Action {
340 pub fn as_str_name(&self) -> &'static str {
345 match self {
346 Self::Unspecified => "ACTION_UNSPECIFIED",
347 Self::Add => "ADD",
348 Self::Remove => "REMOVE",
349 Self::Update => "UPDATE",
350 }
351 }
352 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
354 match value {
355 "ACTION_UNSPECIFIED" => Some(Self::Unspecified),
356 "ADD" => Some(Self::Add),
357 "REMOVE" => Some(Self::Remove),
358 "UPDATE" => Some(Self::Update),
359 _ => None,
360 }
361 }
362}
363include!("unitycatalog.shares.v1.serde.rs");
364