#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataObject {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration="DataObjectType", tag="2")]
pub data_object_type: i32,
#[prost(int64, optional, tag="3")]
pub added_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="4")]
pub added_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub shared_as: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="7")]
pub partitions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, optional, tag="8")]
pub enable_cdf: ::core::option::Option<bool>,
#[prost(enumeration="HistoryStatus", optional, tag="9")]
pub history_data_sharing_status: ::core::option::Option<i32>,
#[prost(int64, optional, tag="10")]
pub start_version: ::core::option::Option<i64>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Share {
#[prost(string, optional, tag="100")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="6")]
pub objects: ::prost::alloc::vec::Vec<DataObject>,
#[prost(string, optional, tag="2")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub storage_location: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub storage_root: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="7")]
pub created_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="8")]
pub created_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="9")]
pub updated_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="10")]
pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrivilegeAssignment {
#[prost(string, tag="1")]
pub principal: ::prost::alloc::string::String,
#[prost(string, repeated, tag="2")]
pub privileges: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PermissionsChange {
#[prost(string, tag="1")]
pub principal: ::prost::alloc::string::String,
#[prost(string, repeated, tag="2")]
pub add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="3")]
pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DataObjectType {
Unspecified = 0,
Table = 1,
Schema = 2,
Volume = 10,
AgentSkill = 11,
}
impl DataObjectType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DATA_OBJECT_TYPE_UNSPECIFIED",
Self::Table => "TABLE",
Self::Schema => "SCHEMA",
Self::Volume => "VOLUME",
Self::AgentSkill => "AGENT_SKILL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DATA_OBJECT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"TABLE" => Some(Self::Table),
"SCHEMA" => Some(Self::Schema),
"VOLUME" => Some(Self::Volume),
"AGENT_SKILL" => Some(Self::AgentSkill),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HistoryStatus {
Disabled = 0,
Enabled = 1,
}
impl HistoryStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Disabled => "DISABLED",
Self::Enabled => "ENABLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DISABLED" => Some(Self::Disabled),
"ENABLED" => Some(Self::Enabled),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSharesRequest {
#[prost(int32, optional, tag="1")]
pub max_results: ::core::option::Option<i32>,
#[prost(string, optional, tag="2")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSharesResponse {
#[prost(message, repeated, tag="1")]
pub shares: ::prost::alloc::vec::Vec<Share>,
#[prost(string, optional, tag="2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateShareRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetShareRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, optional, tag="2")]
pub include_shared_data: ::core::option::Option<bool>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataObjectUpdate {
#[prost(enumeration="Action", tag="1")]
pub action: i32,
#[prost(message, optional, tag="2")]
pub data_object: ::core::option::Option<DataObject>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateShareRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub updates: ::prost::alloc::vec::Vec<DataObjectUpdate>,
#[prost(string, optional, tag="3")]
pub new_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteShareRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPermissionsRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(int32, optional, tag="2")]
pub max_results: ::core::option::Option<i32>,
#[prost(string, optional, tag="3")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPermissionsResponse {
#[prost(message, repeated, tag="1")]
pub privilege_assignments: ::prost::alloc::vec::Vec<PrivilegeAssignment>,
#[prost(string, optional, tag="2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePermissionsRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub changes: ::prost::alloc::vec::Vec<PermissionsChange>,
#[prost(bool, optional, tag="3")]
pub omit_permissions_list: ::core::option::Option<bool>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePermissionsResponse {
#[prost(message, repeated, tag="1")]
pub privilege_assignments: ::prost::alloc::vec::Vec<PrivilegeAssignment>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Action {
Unspecified = 0,
Add = 1,
Remove = 2,
Update = 3,
}
impl Action {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ACTION_UNSPECIFIED",
Self::Add => "ADD",
Self::Remove => "REMOVE",
Self::Update => "UPDATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACTION_UNSPECIFIED" => Some(Self::Unspecified),
"ADD" => Some(Self::Add),
"REMOVE" => Some(Self::Remove),
"UPDATE" => Some(Self::Update),
_ => None,
}
}
}
include!("unitycatalog.shares.v1.serde.rs");