ydb_grpc/generated/
ydb.scheme.rs

1/// Create directory.
2/// All intermediate directories must be created
3#[derive(serde::Serialize, serde::Deserialize)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct MakeDirectoryRequest {
6    #[prost(message, optional, tag = "1")]
7    pub operation_params: ::core::option::Option<super::operations::OperationParams>,
8    #[prost(string, tag = "2")]
9    pub path: ::prost::alloc::string::String,
10}
11#[derive(serde::Serialize, serde::Deserialize)]
12#[derive(Clone, PartialEq, ::prost::Message)]
13pub struct MakeDirectoryResponse {
14    #[prost(message, optional, tag = "1")]
15    pub operation: ::core::option::Option<super::operations::Operation>,
16}
17/// Remove directory
18#[derive(serde::Serialize, serde::Deserialize)]
19#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct RemoveDirectoryRequest {
21    #[prost(message, optional, tag = "1")]
22    pub operation_params: ::core::option::Option<super::operations::OperationParams>,
23    #[prost(string, tag = "2")]
24    pub path: ::prost::alloc::string::String,
25}
26#[derive(serde::Serialize, serde::Deserialize)]
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct RemoveDirectoryResponse {
29    #[prost(message, optional, tag = "1")]
30    pub operation: ::core::option::Option<super::operations::Operation>,
31}
32/// List directory
33#[derive(serde::Serialize, serde::Deserialize)]
34#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct ListDirectoryRequest {
36    #[prost(message, optional, tag = "1")]
37    pub operation_params: ::core::option::Option<super::operations::OperationParams>,
38    #[prost(string, tag = "2")]
39    pub path: ::prost::alloc::string::String,
40}
41#[derive(serde::Serialize, serde::Deserialize)]
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct ListDirectoryResponse {
44    /// Holds ListDirectoryResult in case of successful call
45    #[prost(message, optional, tag = "1")]
46    pub operation: ::core::option::Option<super::operations::Operation>,
47}
48#[derive(serde::Serialize, serde::Deserialize)]
49#[derive(Clone, PartialEq, ::prost::Message)]
50pub struct Permissions {
51    /// SID (Security ID) of user or group
52    #[prost(string, tag = "1")]
53    pub subject: ::prost::alloc::string::String,
54    #[prost(string, repeated, tag = "2")]
55    pub permission_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
56}
57#[derive(serde::Serialize, serde::Deserialize)]
58#[derive(Clone, PartialEq, ::prost::Message)]
59pub struct Entry {
60    /// Name of scheme entry (dir2 of /dir1/dir2)
61    #[prost(string, tag = "1")]
62    pub name: ::prost::alloc::string::String,
63    /// SID (Security ID) of user or group
64    #[prost(string, tag = "2")]
65    pub owner: ::prost::alloc::string::String,
66    #[prost(enumeration = "entry::Type", tag = "5")]
67    pub r#type: i32,
68    #[prost(message, repeated, tag = "6")]
69    pub effective_permissions: ::prost::alloc::vec::Vec<Permissions>,
70    #[prost(message, repeated, tag = "7")]
71    pub permissions: ::prost::alloc::vec::Vec<Permissions>,
72    /// Size of entry in bytes. Currently filled for:
73    /// - TABLE;
74    /// - DATABASE.
75    /// Empty (zero) in other cases.
76    #[prost(uint64, tag = "8")]
77    pub size_bytes: u64,
78    /// Virtual timestamp when the object was created
79    #[prost(message, optional, tag = "9")]
80    pub created_at: ::core::option::Option<super::VirtualTimestamp>,
81}
82/// Nested message and enum types in `Entry`.
83pub mod entry {
84    #[derive(serde::Serialize, serde::Deserialize)]
85    #[derive(
86        Clone,
87        Copy,
88        Debug,
89        PartialEq,
90        Eq,
91        Hash,
92        PartialOrd,
93        Ord,
94        ::prost::Enumeration
95    )]
96    #[repr(i32)]
97    pub enum Type {
98        Unspecified = 0,
99        Directory = 1,
100        Table = 2,
101        PersQueueGroup = 3,
102        Database = 4,
103        RtmrVolume = 5,
104        BlockStoreVolume = 6,
105        CoordinationNode = 7,
106        ColumnStore = 12,
107        ColumnTable = 13,
108        Sequence = 15,
109        Replication = 16,
110        Topic = 17,
111        ExternalTable = 18,
112        ExternalDataSource = 19,
113        View = 20,
114    }
115    impl Type {
116        /// String value of the enum field names used in the ProtoBuf definition.
117        /// The values are not transformed in any way and thus are considered stable
118        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
119        pub fn as_str_name(&self) -> &'static str {
120            match self {
121                Type::Unspecified => "TYPE_UNSPECIFIED",
122                Type::Directory => "DIRECTORY",
123                Type::Table => "TABLE",
124                Type::PersQueueGroup => "PERS_QUEUE_GROUP",
125                Type::Database => "DATABASE",
126                Type::RtmrVolume => "RTMR_VOLUME",
127                Type::BlockStoreVolume => "BLOCK_STORE_VOLUME",
128                Type::CoordinationNode => "COORDINATION_NODE",
129                Type::ColumnStore => "COLUMN_STORE",
130                Type::ColumnTable => "COLUMN_TABLE",
131                Type::Sequence => "SEQUENCE",
132                Type::Replication => "REPLICATION",
133                Type::Topic => "TOPIC",
134                Type::ExternalTable => "EXTERNAL_TABLE",
135                Type::ExternalDataSource => "EXTERNAL_DATA_SOURCE",
136                Type::View => "VIEW",
137            }
138        }
139    }
140}
141#[derive(serde::Serialize, serde::Deserialize)]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct ListDirectoryResult {
144    #[prost(message, optional, tag = "1")]
145    pub self_: ::core::option::Option<Entry>,
146    #[prost(message, repeated, tag = "2")]
147    pub children: ::prost::alloc::vec::Vec<Entry>,
148}
149/// Returns information about object with given path
150#[derive(serde::Serialize, serde::Deserialize)]
151#[derive(Clone, PartialEq, ::prost::Message)]
152pub struct DescribePathRequest {
153    #[prost(message, optional, tag = "1")]
154    pub operation_params: ::core::option::Option<super::operations::OperationParams>,
155    #[prost(string, tag = "2")]
156    pub path: ::prost::alloc::string::String,
157}
158#[derive(serde::Serialize, serde::Deserialize)]
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct DescribePathResponse {
161    /// Holds DescribePathResult in case of DescribePathResult
162    #[prost(message, optional, tag = "1")]
163    pub operation: ::core::option::Option<super::operations::Operation>,
164}
165#[derive(serde::Serialize, serde::Deserialize)]
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct DescribePathResult {
168    #[prost(message, optional, tag = "1")]
169    pub self_: ::core::option::Option<Entry>,
170}
171#[derive(serde::Serialize, serde::Deserialize)]
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct PermissionsAction {
174    #[prost(oneof = "permissions_action::Action", tags = "1, 2, 3, 4")]
175    pub action: ::core::option::Option<permissions_action::Action>,
176}
177/// Nested message and enum types in `PermissionsAction`.
178pub mod permissions_action {
179    #[derive(serde::Serialize, serde::Deserialize)]
180    #[derive(Clone, PartialEq, ::prost::Oneof)]
181    pub enum Action {
182        /// Grant permissions
183        #[prost(message, tag = "1")]
184        Grant(super::Permissions),
185        /// Revoke permissions
186        #[prost(message, tag = "2")]
187        Revoke(super::Permissions),
188        /// Rewrite permissions for given subject (last set win in case of multiple set for one subject)
189        #[prost(message, tag = "3")]
190        Set(super::Permissions),
191        /// New owner for object
192        #[prost(string, tag = "4")]
193        ChangeOwner(::prost::alloc::string::String),
194    }
195}
196/// Modify permissions of given object
197#[derive(serde::Serialize, serde::Deserialize)]
198#[derive(Clone, PartialEq, ::prost::Message)]
199pub struct ModifyPermissionsRequest {
200    #[prost(message, optional, tag = "1")]
201    pub operation_params: ::core::option::Option<super::operations::OperationParams>,
202    #[prost(string, tag = "2")]
203    pub path: ::prost::alloc::string::String,
204    #[prost(message, repeated, tag = "3")]
205    pub actions: ::prost::alloc::vec::Vec<PermissionsAction>,
206    /// Clear all permissions on the object for all subjects
207    #[prost(bool, tag = "4")]
208    pub clear_permissions: bool,
209    #[prost(oneof = "modify_permissions_request::Inheritance", tags = "5")]
210    pub inheritance: ::core::option::Option<modify_permissions_request::Inheritance>,
211}
212/// Nested message and enum types in `ModifyPermissionsRequest`.
213pub mod modify_permissions_request {
214    #[derive(serde::Serialize, serde::Deserialize)]
215    #[derive(Clone, PartialEq, ::prost::Oneof)]
216    pub enum Inheritance {
217        #[prost(bool, tag = "5")]
218        InterruptInheritance(bool),
219    }
220}
221#[derive(serde::Serialize, serde::Deserialize)]
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct ModifyPermissionsResponse {
224    #[prost(message, optional, tag = "1")]
225    pub operation: ::core::option::Option<super::operations::Operation>,
226}