Skip to main content

bitwarden_importers/importers/keeper/proto/
enterprise.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct EnterpriseKeyPairRequest {
4    #[prost(bytes = "vec", tag = "1")]
5    pub enterprise_public_key: ::prost::alloc::vec::Vec<u8>,
6    #[prost(bytes = "vec", tag = "2")]
7    pub encrypted_enterprise_private_key: ::prost::alloc::vec::Vec<u8>,
8    #[prost(enumeration = "KeyType", tag = "3")]
9    pub key_type: i32,
10}
11#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct GetTeamMemberRequest {
13    #[prost(bytes = "vec", tag = "1")]
14    pub team_uid: ::prost::alloc::vec::Vec<u8>,
15}
16#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
17pub struct EnterpriseUser {
18    #[prost(int64, tag = "1")]
19    pub enterprise_user_id: i64,
20    #[prost(string, tag = "2")]
21    pub email: ::prost::alloc::string::String,
22    #[prost(string, tag = "3")]
23    pub enterprise_username: ::prost::alloc::string::String,
24    #[prost(bool, tag = "4")]
25    pub is_share_admin: bool,
26    #[prost(string, tag = "5")]
27    pub username: ::prost::alloc::string::String,
28}
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct GetTeamMemberResponse {
31    #[prost(message, repeated, tag = "1")]
32    pub enterprise_user: ::prost::alloc::vec::Vec<EnterpriseUser>,
33}
34#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
35pub struct EnterpriseUserIds {
36    #[prost(int64, repeated, tag = "1")]
37    pub enterprise_user_id: ::prost::alloc::vec::Vec<i64>,
38}
39#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
40pub struct EnterprisePersonalAccount {
41    #[prost(string, tag = "1")]
42    pub email: ::prost::alloc::string::String,
43    #[prost(bytes = "vec", tag = "2")]
44    pub obsolete_field: ::prost::alloc::vec::Vec<u8>,
45}
46#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
47pub struct EncryptedTeamKeyRequest {
48    #[prost(bytes = "vec", tag = "1")]
49    pub team_uid: ::prost::alloc::vec::Vec<u8>,
50    #[prost(bytes = "vec", tag = "2")]
51    pub encrypted_team_key: ::prost::alloc::vec::Vec<u8>,
52    #[prost(bool, tag = "3")]
53    pub force: bool,
54}
55#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
56pub struct ReEncryptedData {
57    #[prost(int64, tag = "1")]
58    pub id: i64,
59    #[prost(string, tag = "2")]
60    pub data: ::prost::alloc::string::String,
61}
62#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
63pub struct ReEncryptedRoleKey {
64    #[prost(int64, tag = "1")]
65    pub role_id: i64,
66    #[prost(bytes = "vec", tag = "2")]
67    pub encrypted_role_key: ::prost::alloc::vec::Vec<u8>,
68}
69#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
70pub struct ReEncryptedUserDataKey {
71    #[prost(int64, tag = "1")]
72    pub enterprise_user_id: i64,
73    #[prost(bytes = "vec", tag = "2")]
74    pub user_encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct NodeToManagedCompanyRequest {
78    #[prost(int32, tag = "1")]
79    pub company_id: i32,
80    #[prost(message, repeated, tag = "2")]
81    pub nodes: ::prost::alloc::vec::Vec<ReEncryptedData>,
82    #[prost(message, repeated, tag = "3")]
83    pub roles: ::prost::alloc::vec::Vec<ReEncryptedData>,
84    #[prost(message, repeated, tag = "4")]
85    pub users: ::prost::alloc::vec::Vec<ReEncryptedData>,
86    #[prost(message, repeated, tag = "5")]
87    pub role_keys: ::prost::alloc::vec::Vec<ReEncryptedRoleKey>,
88    #[prost(message, repeated, tag = "6")]
89    pub team_keys: ::prost::alloc::vec::Vec<EncryptedTeamKeyRequest>,
90    #[prost(message, repeated, tag = "7")]
91    pub users_data_keys: ::prost::alloc::vec::Vec<ReEncryptedUserDataKey>,
92}
93#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
94pub struct RoleTeam {
95    #[prost(int64, tag = "1")]
96    pub role_id: i64,
97    #[prost(bytes = "vec", tag = "2")]
98    pub team_uid: ::prost::alloc::vec::Vec<u8>,
99}
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct RoleTeams {
102    #[prost(message, repeated, tag = "1")]
103    pub role_team: ::prost::alloc::vec::Vec<RoleTeam>,
104}
105#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
106pub struct RoleUserAddKeys {
107    #[prost(int64, tag = "1")]
108    pub enterprise_user_id: i64,
109    #[prost(string, tag = "2")]
110    pub tree_key: ::prost::alloc::string::String,
111    #[prost(string, tag = "3")]
112    pub role_admin_key: ::prost::alloc::string::String,
113}
114#[derive(Clone, PartialEq, ::prost::Message)]
115pub struct RoleUserAdd {
116    #[prost(int64, tag = "1")]
117    pub role_id: i64,
118    #[prost(message, repeated, tag = "2")]
119    pub role_user_add_keys: ::prost::alloc::vec::Vec<RoleUserAddKeys>,
120}
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct RoleUsersAddRequest {
123    #[prost(message, repeated, tag = "1")]
124    pub role_user_adds: ::prost::alloc::vec::Vec<RoleUserAdd>,
125}
126#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
127pub struct RoleUserAddResult {
128    #[prost(int64, tag = "1")]
129    pub role_id: i64,
130    #[prost(int64, tag = "2")]
131    pub enterprise_user_id: i64,
132    #[prost(enumeration = "RoleUserModifyStatus", tag = "3")]
133    pub status: i32,
134    #[prost(string, tag = "4")]
135    pub message: ::prost::alloc::string::String,
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct RoleUsersAddResponse {
139    #[prost(message, repeated, tag = "1")]
140    pub results: ::prost::alloc::vec::Vec<RoleUserAddResult>,
141}
142#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
143pub struct RoleUserRemove {
144    #[prost(int64, tag = "1")]
145    pub role_id: i64,
146    #[prost(int64, repeated, tag = "2")]
147    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
148}
149#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct RoleUsersRemoveRequest {
151    #[prost(message, repeated, tag = "1")]
152    pub role_user_removes: ::prost::alloc::vec::Vec<RoleUserRemove>,
153}
154#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
155pub struct RoleUserRemoveResult {
156    #[prost(int64, tag = "1")]
157    pub role_id: i64,
158    #[prost(int64, tag = "2")]
159    pub enterprise_user_id: i64,
160    #[prost(enumeration = "RoleUserModifyStatus", tag = "3")]
161    pub status: i32,
162    #[prost(string, tag = "4")]
163    pub message: ::prost::alloc::string::String,
164}
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct RoleUsersRemoveResponse {
167    #[prost(message, repeated, tag = "1")]
168    pub results: ::prost::alloc::vec::Vec<RoleUserRemoveResult>,
169}
170#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
171pub struct EnterpriseRegistration {
172    #[prost(bytes = "vec", tag = "1")]
173    pub encrypted_tree_key: ::prost::alloc::vec::Vec<u8>,
174    #[prost(string, tag = "2")]
175    pub enterprise_name: ::prost::alloc::string::String,
176    #[prost(bytes = "vec", tag = "3")]
177    pub root_node_data: ::prost::alloc::vec::Vec<u8>,
178    #[prost(bytes = "vec", tag = "4")]
179    pub admin_user_data: ::prost::alloc::vec::Vec<u8>,
180    #[prost(string, tag = "5")]
181    pub admin_name: ::prost::alloc::string::String,
182    #[prost(bytes = "vec", tag = "6")]
183    pub role_data: ::prost::alloc::vec::Vec<u8>,
184    #[prost(message, optional, tag = "7")]
185    pub rsa_key_pair: ::core::option::Option<EnterpriseKeyPairRequest>,
186    #[prost(int32, tag = "8")]
187    pub number_seats: i32,
188    #[prost(enumeration = "EnterpriseType", tag = "9")]
189    pub enterprise_type: i32,
190    #[prost(bytes = "vec", tag = "10")]
191    pub role_public_key: ::prost::alloc::vec::Vec<u8>,
192    #[prost(bytes = "vec", tag = "11")]
193    pub role_private_key_encrypted_with_role_key: ::prost::alloc::vec::Vec<u8>,
194    #[prost(bytes = "vec", tag = "12")]
195    pub role_key_encrypted_with_tree_key: ::prost::alloc::vec::Vec<u8>,
196    #[prost(message, optional, tag = "13")]
197    pub ecc_key_pair: ::core::option::Option<EnterpriseKeyPairRequest>,
198    #[prost(bytes = "vec", tag = "14")]
199    pub all_users_role_data: ::prost::alloc::vec::Vec<u8>,
200    #[prost(bytes = "vec", tag = "15")]
201    pub role_key_encrypted_with_user_public_key: ::prost::alloc::vec::Vec<u8>,
202    #[prost(bytes = "vec", tag = "16")]
203    pub approver_role_data: ::prost::alloc::vec::Vec<u8>,
204}
205#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
206pub struct DomainPasswordRulesRequest {
207    #[prost(string, tag = "1")]
208    pub username: ::prost::alloc::string::String,
209    #[prost(string, tag = "2")]
210    pub verification_code: ::prost::alloc::string::String,
211}
212#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
213pub struct DomainPasswordRulesFields {
214    #[prost(string, tag = "1")]
215    pub r#type: ::prost::alloc::string::String,
216    #[prost(int32, tag = "2")]
217    pub minimum: i32,
218    #[prost(int32, tag = "3")]
219    pub maximum: i32,
220    #[prost(bool, tag = "4")]
221    pub allowed: bool,
222}
223#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
224pub struct LoginToMcRequest {
225    #[prost(int32, tag = "1")]
226    pub mc_enterprise_id: i32,
227    #[prost(bytes = "vec", tag = "2")]
228    pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
229}
230#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
231pub struct LoginToMcResponse {
232    #[prost(bytes = "vec", tag = "1")]
233    pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
234    #[prost(string, tag = "2")]
235    pub encrypted_tree_key: ::prost::alloc::string::String,
236}
237#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct DomainPasswordRulesResponse {
239    #[prost(message, repeated, tag = "1")]
240    pub domain_password_rules_fields: ::prost::alloc::vec::Vec<DomainPasswordRulesFields>,
241}
242#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
243pub struct ApproveUserDeviceRequest {
244    #[prost(int64, tag = "1")]
245    pub enterprise_user_id: i64,
246    #[prost(bytes = "vec", tag = "2")]
247    pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
248    #[prost(bytes = "vec", tag = "3")]
249    pub encrypted_device_data_key: ::prost::alloc::vec::Vec<u8>,
250    #[prost(bool, tag = "4")]
251    pub deny_approval: bool,
252}
253#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
254pub struct ApproveUserDeviceResponse {
255    #[prost(int64, tag = "1")]
256    pub enterprise_user_id: i64,
257    #[prost(bytes = "vec", tag = "2")]
258    pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
259    #[prost(bool, tag = "3")]
260    pub failed: bool,
261    #[prost(string, tag = "4")]
262    pub message: ::prost::alloc::string::String,
263}
264#[derive(Clone, PartialEq, ::prost::Message)]
265pub struct ApproveUserDevicesRequest {
266    #[prost(message, repeated, tag = "1")]
267    pub device_requests: ::prost::alloc::vec::Vec<ApproveUserDeviceRequest>,
268}
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct ApproveUserDevicesResponse {
271    #[prost(message, repeated, tag = "1")]
272    pub device_responses: ::prost::alloc::vec::Vec<ApproveUserDeviceResponse>,
273}
274#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
275pub struct EnterpriseUserDataKey {
276    #[prost(int64, tag = "1")]
277    pub enterprise_user_id: i64,
278    #[prost(bytes = "vec", tag = "2")]
279    pub user_encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
280    #[prost(int32, tag = "3")]
281    pub key_type_id: i32,
282    #[prost(bytes = "vec", tag = "4")]
283    pub role_key: ::prost::alloc::vec::Vec<u8>,
284    #[prost(bytes = "vec", tag = "5")]
285    pub private_key: ::prost::alloc::vec::Vec<u8>,
286}
287#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct EnterpriseUserDataKeys {
289    #[prost(message, repeated, tag = "1")]
290    pub keys: ::prost::alloc::vec::Vec<EnterpriseUserDataKey>,
291}
292#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
293pub struct EnterpriseUserDataKeyLight {
294    #[prost(int64, tag = "1")]
295    pub enterprise_user_id: i64,
296    #[prost(bytes = "vec", tag = "2")]
297    pub user_encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
298    #[prost(int32, tag = "3")]
299    pub key_type_id: i32,
300}
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct EnterpriseUserDataKeysByNode {
303    #[prost(int64, tag = "1")]
304    pub node_id: i64,
305    #[prost(message, repeated, tag = "2")]
306    pub keys: ::prost::alloc::vec::Vec<EnterpriseUserDataKeyLight>,
307}
308#[derive(Clone, PartialEq, ::prost::Message)]
309pub struct EnterpriseUserDataKeysByNodeResponse {
310    #[prost(message, repeated, tag = "1")]
311    pub keys: ::prost::alloc::vec::Vec<EnterpriseUserDataKeysByNode>,
312}
313#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
314pub struct EnterpriseDataRequest {
315    #[prost(bytes = "vec", tag = "1")]
316    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
317}
318#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
319pub struct SpecialProvisioning {
320    #[prost(string, tag = "1")]
321    pub url: ::prost::alloc::string::String,
322    #[prost(string, tag = "2")]
323    pub name: ::prost::alloc::string::String,
324}
325#[derive(Clone, PartialEq, ::prost::Message)]
326pub struct GeneralDataEntity {
327    #[prost(string, tag = "1")]
328    pub enterprise_name: ::prost::alloc::string::String,
329    #[prost(bool, tag = "2")]
330    pub restrict_visibility: bool,
331    #[prost(message, optional, tag = "4")]
332    pub special_provisioning: ::core::option::Option<SpecialProvisioning>,
333    #[prost(message, optional, tag = "7")]
334    pub user_privilege: ::core::option::Option<UserPrivilege>,
335    #[prost(bool, tag = "8")]
336    pub distributor: bool,
337    #[prost(bool, tag = "9")]
338    pub forbid_account_transfer: bool,
339    #[prost(bool, tag = "10")]
340    pub show_user_onboard: bool,
341}
342#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
343pub struct Node {
344    #[prost(int64, tag = "1")]
345    pub node_id: i64,
346    #[prost(int64, tag = "2")]
347    pub parent_id: i64,
348    #[prost(int64, tag = "3")]
349    pub bridge_id: i64,
350    #[prost(int64, tag = "4")]
351    pub scim_id: i64,
352    #[prost(int64, tag = "5")]
353    pub license_id: i64,
354    #[prost(string, tag = "6")]
355    pub encrypted_data: ::prost::alloc::string::String,
356    #[prost(bool, tag = "7")]
357    pub duo_enabled: bool,
358    #[prost(bool, tag = "8")]
359    pub rsa_enabled: bool,
360    #[prost(int64, tag = "9")]
361    pub sso_service_provider_id: i64,
362    #[prost(bool, tag = "10")]
363    pub restrict_visibility: bool,
364    #[prost(int64, repeated, tag = "11")]
365    pub sso_service_provider_ids: ::prost::alloc::vec::Vec<i64>,
366}
367#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
368pub struct Role {
369    #[prost(int64, tag = "1")]
370    pub role_id: i64,
371    #[prost(int64, tag = "2")]
372    pub node_id: i64,
373    #[prost(string, tag = "3")]
374    pub encrypted_data: ::prost::alloc::string::String,
375    #[prost(string, tag = "4")]
376    pub key_type: ::prost::alloc::string::String,
377    #[prost(bool, tag = "5")]
378    pub visible_below: bool,
379    #[prost(bool, tag = "6")]
380    pub new_user_inherit: bool,
381    #[prost(string, tag = "7")]
382    pub role_type: ::prost::alloc::string::String,
383}
384#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
385pub struct User {
386    #[prost(int64, tag = "1")]
387    pub enterprise_user_id: i64,
388    #[prost(int64, tag = "2")]
389    pub node_id: i64,
390    #[prost(string, tag = "3")]
391    pub encrypted_data: ::prost::alloc::string::String,
392    #[prost(string, tag = "4")]
393    pub key_type: ::prost::alloc::string::String,
394    #[prost(string, tag = "5")]
395    pub username: ::prost::alloc::string::String,
396    #[prost(string, tag = "6")]
397    pub status: ::prost::alloc::string::String,
398    #[prost(int32, tag = "7")]
399    pub lock: i32,
400    #[prost(int32, tag = "8")]
401    pub user_id: i32,
402    #[prost(int64, tag = "9")]
403    pub account_share_expiration: i64,
404    #[prost(string, tag = "10")]
405    pub full_name: ::prost::alloc::string::String,
406    #[prost(string, tag = "11")]
407    pub job_title: ::prost::alloc::string::String,
408    #[prost(bool, tag = "12")]
409    pub tfa_enabled: bool,
410    #[prost(enumeration = "TransferAcceptanceStatus", tag = "13")]
411    pub transfer_acceptance_status: i32,
412}
413#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
414pub struct UserAlias {
415    #[prost(int64, tag = "1")]
416    pub enterprise_user_id: i64,
417    #[prost(string, tag = "2")]
418    pub username: ::prost::alloc::string::String,
419}
420#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
421pub struct ComplianceReportMetaData {
422    #[prost(bytes = "vec", tag = "1")]
423    pub report_uid: ::prost::alloc::vec::Vec<u8>,
424    #[prost(int64, tag = "2")]
425    pub node_id: i64,
426    #[prost(string, tag = "3")]
427    pub report_name: ::prost::alloc::string::String,
428    #[prost(int64, tag = "4")]
429    pub date_generated: i64,
430    #[prost(string, tag = "5")]
431    pub run_by_name: ::prost::alloc::string::String,
432    #[prost(int32, tag = "7")]
433    pub number_of_owners: i32,
434    #[prost(int32, tag = "8")]
435    pub number_of_records: i32,
436}
437#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
438pub struct ManagedNode {
439    #[prost(int64, tag = "1")]
440    pub role_id: i64,
441    #[prost(int64, tag = "2")]
442    pub managed_node_id: i64,
443    #[prost(bool, tag = "3")]
444    pub cascade_node_management: bool,
445}
446#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
447pub struct UserManagedNode {
448    #[prost(int64, tag = "1")]
449    pub node_id: i64,
450    #[prost(bool, tag = "2")]
451    pub cascade_node_management: bool,
452    #[prost(string, repeated, tag = "3")]
453    pub privileges: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
454}
455#[derive(Clone, PartialEq, ::prost::Message)]
456pub struct UserPrivilege {
457    #[prost(message, repeated, tag = "1")]
458    pub user_managed_nodes: ::prost::alloc::vec::Vec<UserManagedNode>,
459    #[prost(int64, tag = "2")]
460    pub enterprise_user_id: i64,
461    #[prost(string, tag = "3")]
462    pub encrypted_data: ::prost::alloc::string::String,
463}
464#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
465pub struct RoleUser {
466    #[prost(int64, tag = "1")]
467    pub role_id: i64,
468    #[prost(int64, tag = "2")]
469    pub enterprise_user_id: i64,
470}
471#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
472pub struct RolePrivilege {
473    #[prost(int64, tag = "1")]
474    pub managed_node_id: i64,
475    #[prost(int64, tag = "2")]
476    pub role_id: i64,
477    #[prost(string, tag = "3")]
478    pub privilege_type: ::prost::alloc::string::String,
479}
480#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
481pub struct RoleEnforcement {
482    #[prost(int64, tag = "1")]
483    pub role_id: i64,
484    #[prost(string, tag = "2")]
485    pub enforcement_type: ::prost::alloc::string::String,
486    #[prost(string, tag = "3")]
487    pub value: ::prost::alloc::string::String,
488}
489#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
490pub struct Team {
491    #[prost(bytes = "vec", tag = "1")]
492    pub team_uid: ::prost::alloc::vec::Vec<u8>,
493    #[prost(string, tag = "2")]
494    pub name: ::prost::alloc::string::String,
495    #[prost(int64, tag = "3")]
496    pub node_id: i64,
497    #[prost(bool, tag = "4")]
498    pub restrict_edit: bool,
499    #[prost(bool, tag = "5")]
500    pub restrict_share: bool,
501    #[prost(bool, tag = "6")]
502    pub restrict_view: bool,
503    #[prost(string, tag = "7")]
504    pub encrypted_data: ::prost::alloc::string::String,
505    #[prost(string, tag = "8")]
506    pub encrypted_team_key: ::prost::alloc::string::String,
507}
508#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
509pub struct TeamUser {
510    #[prost(bytes = "vec", tag = "1")]
511    pub team_uid: ::prost::alloc::vec::Vec<u8>,
512    #[prost(int64, tag = "2")]
513    pub enterprise_user_id: i64,
514    #[prost(string, tag = "3")]
515    pub user_type: ::prost::alloc::string::String,
516}
517#[derive(Clone, PartialEq, ::prost::Message)]
518pub struct GetDistributorInfoResponse {
519    #[prost(message, repeated, tag = "1")]
520    pub distributors: ::prost::alloc::vec::Vec<Distributor>,
521}
522#[derive(Clone, PartialEq, ::prost::Message)]
523pub struct Distributor {
524    #[prost(string, tag = "1")]
525    pub name: ::prost::alloc::string::String,
526    #[prost(message, repeated, tag = "2")]
527    pub msp_infos: ::prost::alloc::vec::Vec<MspInfo>,
528}
529#[derive(Clone, PartialEq, ::prost::Message)]
530pub struct MspInfo {
531    #[prost(int32, tag = "1")]
532    pub enterprise_id: i32,
533    #[prost(string, tag = "2")]
534    pub enterprise_name: ::prost::alloc::string::String,
535    #[prost(int32, tag = "3")]
536    pub allocated_licenses: i32,
537    #[prost(string, repeated, tag = "4")]
538    pub allowed_mc_products: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
539    #[prost(string, repeated, tag = "5")]
540    pub allowed_add_ons: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
541    #[prost(string, tag = "6")]
542    pub max_file_plan_type: ::prost::alloc::string::String,
543    #[prost(message, repeated, tag = "7")]
544    pub managed_companies: ::prost::alloc::vec::Vec<ManagedCompany>,
545    #[prost(bool, tag = "8")]
546    pub allow_unlimited_licenses: bool,
547    #[prost(message, repeated, tag = "9")]
548    pub add_ons: ::prost::alloc::vec::Vec<LicenseAddOn>,
549}
550#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct ManagedCompany {
552    #[prost(int32, tag = "1")]
553    pub mc_enterprise_id: i32,
554    #[prost(string, tag = "2")]
555    pub mc_enterprise_name: ::prost::alloc::string::String,
556    #[prost(int64, tag = "3")]
557    pub msp_node_id: i64,
558    #[prost(int32, tag = "4")]
559    pub number_of_seats: i32,
560    #[prost(int32, tag = "5")]
561    pub number_of_users: i32,
562    #[prost(string, tag = "6")]
563    pub product_id: ::prost::alloc::string::String,
564    #[prost(bool, tag = "7")]
565    pub is_expired: bool,
566    #[prost(string, tag = "8")]
567    pub tree_key: ::prost::alloc::string::String,
568    #[prost(int64, tag = "9")]
569    pub tree_key_role: i64,
570    #[prost(string, tag = "10")]
571    pub file_plan_type: ::prost::alloc::string::String,
572    #[prost(message, repeated, tag = "11")]
573    pub add_ons: ::prost::alloc::vec::Vec<LicenseAddOn>,
574}
575#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
576pub struct MspPool {
577    #[prost(string, tag = "1")]
578    pub product_id: ::prost::alloc::string::String,
579    #[prost(int32, tag = "2")]
580    pub seats: i32,
581    #[prost(int32, tag = "3")]
582    pub available_seats: i32,
583    #[prost(int32, tag = "4")]
584    pub stash: i32,
585}
586#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
587pub struct MspContact {
588    #[prost(int32, tag = "1")]
589    pub enterprise_id: i32,
590    #[prost(string, tag = "2")]
591    pub enterprise_name: ::prost::alloc::string::String,
592}
593#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
594pub struct LicenseAddOn {
595    #[prost(string, tag = "1")]
596    pub name: ::prost::alloc::string::String,
597    #[prost(bool, tag = "2")]
598    pub enabled: bool,
599    #[prost(bool, tag = "3")]
600    pub is_trial: bool,
601    #[prost(int64, tag = "4")]
602    pub expiration: i64,
603    #[prost(int64, tag = "5")]
604    pub created: i64,
605    #[prost(int32, tag = "6")]
606    pub seats: i32,
607    #[prost(int64, tag = "7")]
608    pub activation_time: i64,
609    #[prost(bool, tag = "8")]
610    pub included_in_product: bool,
611    #[prost(int32, tag = "9")]
612    pub api_call_count: i32,
613    #[prost(string, tag = "10")]
614    pub tier_description: ::prost::alloc::string::String,
615    #[prost(int32, tag = "11")]
616    pub seats_allocated: i32,
617}
618#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
619pub struct McDefault {
620    #[prost(string, tag = "1")]
621    pub mc_product: ::prost::alloc::string::String,
622    #[prost(string, repeated, tag = "2")]
623    pub add_ons: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
624    #[prost(string, tag = "3")]
625    pub file_plan_type: ::prost::alloc::string::String,
626    #[prost(int32, tag = "4")]
627    pub max_licenses: i32,
628    #[prost(bool, tag = "5")]
629    pub fixed_max_licenses: bool,
630}
631#[derive(Clone, PartialEq, ::prost::Message)]
632pub struct MspPermits {
633    #[prost(bool, tag = "1")]
634    pub restricted: bool,
635    #[prost(int32, tag = "2")]
636    pub max_allowed_licenses: i32,
637    #[prost(string, repeated, tag = "3")]
638    pub allowed_mc_products: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
639    #[prost(string, repeated, tag = "4")]
640    pub allowed_add_ons: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
641    #[prost(string, tag = "5")]
642    pub max_file_plan_type: ::prost::alloc::string::String,
643    #[prost(bool, tag = "6")]
644    pub allow_unlimited_licenses: bool,
645    #[prost(message, repeated, tag = "7")]
646    pub mc_defaults: ::prost::alloc::vec::Vec<McDefault>,
647}
648#[derive(Clone, PartialEq, ::prost::Message)]
649pub struct License {
650    #[prost(bool, tag = "1")]
651    pub paid: bool,
652    #[prost(int32, tag = "2")]
653    pub number_of_seats: i32,
654    #[prost(int64, tag = "3")]
655    pub expiration: i64,
656    #[prost(int32, tag = "4")]
657    pub license_key_id: i32,
658    #[prost(int32, tag = "5")]
659    pub product_type_id: i32,
660    #[prost(string, tag = "6")]
661    pub name: ::prost::alloc::string::String,
662    #[prost(int64, tag = "7")]
663    pub enterprise_license_id: i64,
664    #[prost(int32, tag = "8")]
665    pub seats_allocated: i32,
666    #[prost(int32, tag = "9")]
667    pub seats_pending: i32,
668    #[prost(int32, tag = "10")]
669    pub tier: i32,
670    #[prost(int32, tag = "11")]
671    pub file_plan_type_id: i32,
672    #[prost(int64, tag = "12")]
673    pub max_bytes: i64,
674    #[prost(int64, tag = "13")]
675    pub storage_expiration: i64,
676    #[prost(string, tag = "14")]
677    pub license_status: ::prost::alloc::string::String,
678    #[prost(message, repeated, tag = "15")]
679    pub msp_pool: ::prost::alloc::vec::Vec<MspPool>,
680    #[prost(message, optional, tag = "16")]
681    pub managed_by: ::core::option::Option<MspContact>,
682    #[prost(message, repeated, tag = "17")]
683    pub add_ons: ::prost::alloc::vec::Vec<LicenseAddOn>,
684    #[prost(int64, tag = "18")]
685    pub next_billing_date: i64,
686    #[prost(bool, tag = "19")]
687    pub has_msp_legacy_log: bool,
688    #[prost(message, optional, tag = "20")]
689    pub msp_permits: ::core::option::Option<MspPermits>,
690    #[prost(bool, tag = "21")]
691    pub distributor: bool,
692}
693#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
694pub struct Bridge {
695    #[prost(int64, tag = "1")]
696    pub bridge_id: i64,
697    #[prost(int64, tag = "2")]
698    pub node_id: i64,
699    #[prost(string, tag = "3")]
700    pub wan_ip_enforcement: ::prost::alloc::string::String,
701    #[prost(string, tag = "4")]
702    pub lan_ip_enforcement: ::prost::alloc::string::String,
703    #[prost(string, tag = "5")]
704    pub status: ::prost::alloc::string::String,
705}
706#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
707pub struct Scim {
708    #[prost(int64, tag = "1")]
709    pub scim_id: i64,
710    #[prost(int64, tag = "2")]
711    pub node_id: i64,
712    #[prost(string, tag = "3")]
713    pub status: ::prost::alloc::string::String,
714    #[prost(int64, tag = "4")]
715    pub last_synced: i64,
716    #[prost(string, tag = "5")]
717    pub role_prefix: ::prost::alloc::string::String,
718    #[prost(bool, tag = "6")]
719    pub unique_groups: bool,
720}
721#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
722pub struct EmailProvision {
723    #[prost(int32, tag = "1")]
724    pub id: i32,
725    #[prost(int64, tag = "2")]
726    pub node_id: i64,
727    #[prost(string, tag = "3")]
728    pub domain: ::prost::alloc::string::String,
729    #[prost(string, tag = "4")]
730    pub method: ::prost::alloc::string::String,
731}
732#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
733pub struct QueuedTeam {
734    #[prost(bytes = "vec", tag = "1")]
735    pub team_uid: ::prost::alloc::vec::Vec<u8>,
736    #[prost(string, tag = "2")]
737    pub name: ::prost::alloc::string::String,
738    #[prost(int64, tag = "3")]
739    pub node_id: i64,
740    #[prost(string, tag = "4")]
741    pub encrypted_data: ::prost::alloc::string::String,
742}
743#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
744pub struct QueuedTeamUser {
745    #[prost(bytes = "vec", tag = "1")]
746    pub team_uid: ::prost::alloc::vec::Vec<u8>,
747    #[prost(int64, repeated, tag = "2")]
748    pub users: ::prost::alloc::vec::Vec<i64>,
749}
750#[derive(Clone, PartialEq, ::prost::Message)]
751pub struct TeamsAddResult {
752    #[prost(message, repeated, tag = "1")]
753    pub successful_team_add: ::prost::alloc::vec::Vec<TeamAddResult>,
754    #[prost(message, repeated, tag = "2")]
755    pub unsuccessful_team_add: ::prost::alloc::vec::Vec<TeamAddResult>,
756    #[prost(string, tag = "3")]
757    pub result: ::prost::alloc::string::String,
758    #[prost(string, tag = "4")]
759    pub error_message: ::prost::alloc::string::String,
760}
761#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
762pub struct TeamAddResult {
763    #[prost(message, optional, tag = "1")]
764    pub team: ::core::option::Option<Team>,
765    #[prost(string, tag = "2")]
766    pub result: ::prost::alloc::string::String,
767    #[prost(string, tag = "3")]
768    pub error_message: ::prost::alloc::string::String,
769}
770#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
771pub struct SsoService {
772    #[prost(int64, tag = "1")]
773    pub sso_service_provider_id: i64,
774    #[prost(int64, tag = "2")]
775    pub node_id: i64,
776    #[prost(string, tag = "3")]
777    pub name: ::prost::alloc::string::String,
778    #[prost(string, tag = "4")]
779    pub sp_url: ::prost::alloc::string::String,
780    #[prost(bool, tag = "5")]
781    pub invite_new_users: bool,
782    #[prost(bool, tag = "6")]
783    pub active: bool,
784    #[prost(bool, tag = "7")]
785    pub is_cloud: bool,
786}
787#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
788pub struct ReportFilterUser {
789    #[prost(int32, tag = "1")]
790    pub user_id: i32,
791    #[prost(string, tag = "2")]
792    pub email: ::prost::alloc::string::String,
793}
794#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
795pub struct DeviceRequestForAdminApproval {
796    #[prost(int64, tag = "1")]
797    pub device_id: i64,
798    #[prost(int64, tag = "2")]
799    pub enterprise_user_id: i64,
800    #[prost(bytes = "vec", tag = "3")]
801    pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
802    #[prost(bytes = "vec", tag = "4")]
803    pub device_public_key: ::prost::alloc::vec::Vec<u8>,
804    #[prost(string, tag = "5")]
805    pub device_name: ::prost::alloc::string::String,
806    #[prost(string, tag = "6")]
807    pub client_version: ::prost::alloc::string::String,
808    #[prost(string, tag = "7")]
809    pub device_type: ::prost::alloc::string::String,
810    #[prost(int64, tag = "8")]
811    pub date: i64,
812    #[prost(string, tag = "9")]
813    pub ip_address: ::prost::alloc::string::String,
814    #[prost(string, tag = "10")]
815    pub location: ::prost::alloc::string::String,
816    #[prost(string, tag = "11")]
817    pub email: ::prost::alloc::string::String,
818    #[prost(bytes = "vec", tag = "12")]
819    pub account_uid: ::prost::alloc::vec::Vec<u8>,
820}
821#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
822pub struct EnterpriseData {
823    #[prost(enumeration = "EnterpriseDataEntity", tag = "1")]
824    pub entity: i32,
825    #[prost(bool, tag = "2")]
826    pub delete: bool,
827    #[prost(bytes = "vec", repeated, tag = "3")]
828    pub data: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
829}
830#[derive(Clone, PartialEq, ::prost::Message)]
831pub struct EnterpriseDataResponse {
832    #[prost(bytes = "vec", tag = "1")]
833    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
834    #[prost(bool, tag = "2")]
835    pub has_more: bool,
836    #[prost(enumeration = "CacheStatus", tag = "3")]
837    pub cache_status: i32,
838    #[prost(message, repeated, tag = "4")]
839    pub data: ::prost::alloc::vec::Vec<EnterpriseData>,
840    #[prost(message, optional, tag = "5")]
841    pub general_data: ::core::option::Option<GeneralDataEntity>,
842}
843#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
844pub struct BackupRequest {
845    #[prost(bytes = "vec", tag = "1")]
846    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
847}
848#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
849pub struct BackupRecord {
850    #[prost(int32, tag = "1")]
851    pub user_id: i32,
852    #[prost(bytes = "vec", tag = "2")]
853    pub record_uid: ::prost::alloc::vec::Vec<u8>,
854    #[prost(bytes = "vec", tag = "3")]
855    pub key: ::prost::alloc::vec::Vec<u8>,
856    #[prost(enumeration = "BackupKeyType", tag = "4")]
857    pub key_type: i32,
858    #[prost(int32, tag = "5")]
859    pub version: i32,
860    #[prost(bytes = "vec", tag = "6")]
861    pub data: ::prost::alloc::vec::Vec<u8>,
862    #[prost(bytes = "vec", tag = "7")]
863    pub extra: ::prost::alloc::vec::Vec<u8>,
864}
865#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
866pub struct BackupKey {
867    #[prost(int32, tag = "1")]
868    pub user_id: i32,
869    #[prost(bytes = "vec", tag = "2")]
870    pub backup_key: ::prost::alloc::vec::Vec<u8>,
871}
872#[derive(Clone, PartialEq, ::prost::Message)]
873pub struct BackupUser {
874    #[prost(int32, tag = "1")]
875    pub user_id: i32,
876    #[prost(string, tag = "2")]
877    pub user_name: ::prost::alloc::string::String,
878    #[prost(bytes = "vec", tag = "3")]
879    pub data_key: ::prost::alloc::vec::Vec<u8>,
880    #[prost(enumeration = "BackupUserDataKeyType", tag = "4")]
881    pub data_key_type: i32,
882    #[prost(bytes = "vec", tag = "5")]
883    pub private_key: ::prost::alloc::vec::Vec<u8>,
884    #[prost(bytes = "vec", tag = "6")]
885    pub tree_key: ::prost::alloc::vec::Vec<u8>,
886    #[prost(enumeration = "BackupKeyType", tag = "7")]
887    pub tree_key_type: i32,
888    #[prost(message, repeated, tag = "8")]
889    pub backup_keys: ::prost::alloc::vec::Vec<BackupKey>,
890    #[prost(bytes = "vec", tag = "9")]
891    pub private_ec_key: ::prost::alloc::vec::Vec<u8>,
892}
893#[derive(Clone, PartialEq, ::prost::Message)]
894pub struct BackupResponse {
895    #[prost(bytes = "vec", tag = "1")]
896    pub enterprise_ecc_private_key: ::prost::alloc::vec::Vec<u8>,
897    #[prost(message, repeated, tag = "2")]
898    pub users: ::prost::alloc::vec::Vec<BackupUser>,
899    #[prost(message, repeated, tag = "3")]
900    pub records: ::prost::alloc::vec::Vec<BackupRecord>,
901    #[prost(bytes = "vec", tag = "4")]
902    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
903}
904#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
905pub struct BackupFile {
906    #[prost(string, tag = "1")]
907    pub user: ::prost::alloc::string::String,
908    #[prost(bytes = "vec", tag = "2")]
909    pub backup_uid: ::prost::alloc::vec::Vec<u8>,
910    #[prost(string, tag = "3")]
911    pub file_name: ::prost::alloc::string::String,
912    #[prost(int64, tag = "4")]
913    pub created: i64,
914    #[prost(string, tag = "5")]
915    pub download_url: ::prost::alloc::string::String,
916}
917#[derive(Clone, PartialEq, ::prost::Message)]
918pub struct BackupsResponse {
919    #[prost(message, repeated, tag = "1")]
920    pub files: ::prost::alloc::vec::Vec<BackupFile>,
921}
922#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
923pub struct GetEnterpriseDataKeysRequest {
924    #[prost(int64, repeated, tag = "1")]
925    pub role_id: ::prost::alloc::vec::Vec<i64>,
926}
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct GetEnterpriseDataKeysResponse {
929    #[prost(message, repeated, tag = "1")]
930    pub re_encrypted_role_key: ::prost::alloc::vec::Vec<ReEncryptedRoleKey>,
931    #[prost(message, repeated, tag = "2")]
932    pub role_key: ::prost::alloc::vec::Vec<RoleKey>,
933    #[prost(message, optional, tag = "3")]
934    pub msp_key: ::core::option::Option<MspKey>,
935    #[prost(message, optional, tag = "4")]
936    pub enterprise_keys: ::core::option::Option<EnterpriseKeys>,
937    #[prost(message, optional, tag = "5")]
938    pub tree_key: ::core::option::Option<TreeKey>,
939}
940#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
941pub struct RoleKey {
942    #[prost(int64, tag = "1")]
943    pub role_id: i64,
944    #[prost(string, tag = "2")]
945    pub encrypted_key: ::prost::alloc::string::String,
946    #[prost(enumeration = "EncryptedKeyType", tag = "3")]
947    pub key_type: i32,
948}
949#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
950pub struct MspKey {
951    #[prost(string, tag = "1")]
952    pub encrypted_msp_tree_key: ::prost::alloc::string::String,
953    #[prost(enumeration = "EncryptedKeyType", tag = "2")]
954    pub encrypted_msp_tree_key_type: i32,
955}
956#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
957pub struct EnterpriseKeys {
958    #[prost(bytes = "vec", tag = "1")]
959    pub rsa_public_key: ::prost::alloc::vec::Vec<u8>,
960    #[prost(bytes = "vec", tag = "2")]
961    pub rsa_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
962    #[prost(bytes = "vec", tag = "3")]
963    pub ecc_public_key: ::prost::alloc::vec::Vec<u8>,
964    #[prost(bytes = "vec", tag = "4")]
965    pub ecc_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
966}
967#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
968pub struct TreeKey {
969    #[prost(string, tag = "1")]
970    pub tree_key: ::prost::alloc::string::String,
971    #[prost(enumeration = "BackupKeyType", tag = "2")]
972    pub key_type_id: i32,
973}
974#[derive(Clone, PartialEq, ::prost::Message)]
975pub struct SharedRecordResponse {
976    #[prost(message, repeated, tag = "1")]
977    pub events: ::prost::alloc::vec::Vec<SharedRecordEvent>,
978}
979#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
980pub struct SharedRecordEvent {
981    #[prost(bytes = "vec", tag = "1")]
982    pub record_uid: ::prost::alloc::vec::Vec<u8>,
983    #[prost(string, tag = "2")]
984    pub user_name: ::prost::alloc::string::String,
985    #[prost(bool, tag = "3")]
986    pub can_edit: bool,
987    #[prost(bool, tag = "4")]
988    pub can_reshare: bool,
989    #[prost(int32, tag = "5")]
990    pub share_from: i32,
991}
992#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
993pub struct SetRestrictVisibilityRequest {
994    #[prost(int64, tag = "1")]
995    pub node_id: i64,
996}
997#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
998pub struct UserAddRequest {
999    #[prost(int64, tag = "1")]
1000    pub enterprise_user_id: i64,
1001    #[prost(int64, tag = "2")]
1002    pub node_id: i64,
1003    #[prost(bytes = "vec", tag = "3")]
1004    pub encrypted_data: ::prost::alloc::vec::Vec<u8>,
1005    #[prost(enumeration = "EncryptedKeyType", tag = "4")]
1006    pub key_type: i32,
1007    #[prost(string, tag = "5")]
1008    pub full_name: ::prost::alloc::string::String,
1009    #[prost(string, tag = "6")]
1010    pub job_title: ::prost::alloc::string::String,
1011    #[prost(string, tag = "7")]
1012    pub email: ::prost::alloc::string::String,
1013    #[prost(bool, tag = "8")]
1014    pub suppress_email_invite: bool,
1015}
1016#[derive(Clone, PartialEq, ::prost::Message)]
1017pub struct UserUpdateRequest {
1018    #[prost(message, repeated, tag = "1")]
1019    pub users: ::prost::alloc::vec::Vec<UserUpdate>,
1020}
1021#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1022pub struct UserUpdate {
1023    #[prost(int64, tag = "1")]
1024    pub enterprise_user_id: i64,
1025    #[prost(int64, tag = "2")]
1026    pub node_id: i64,
1027    #[prost(bytes = "vec", tag = "3")]
1028    pub encrypted_data: ::prost::alloc::vec::Vec<u8>,
1029    #[prost(enumeration = "EncryptedKeyType", tag = "4")]
1030    pub key_type: i32,
1031    #[prost(string, tag = "5")]
1032    pub full_name: ::prost::alloc::string::String,
1033    #[prost(string, tag = "6")]
1034    pub job_title: ::prost::alloc::string::String,
1035    #[prost(string, tag = "7")]
1036    pub email: ::prost::alloc::string::String,
1037}
1038#[derive(Clone, PartialEq, ::prost::Message)]
1039pub struct UserUpdateResponse {
1040    #[prost(message, repeated, tag = "1")]
1041    pub users: ::prost::alloc::vec::Vec<UserUpdateResult>,
1042}
1043#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1044pub struct UserUpdateResult {
1045    #[prost(int64, tag = "1")]
1046    pub enterprise_user_id: i64,
1047    #[prost(enumeration = "UserUpdateStatus", tag = "2")]
1048    pub status: i32,
1049}
1050#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1051pub struct ComplianceRecordOwnersRequest {
1052    #[prost(int64, repeated, tag = "1")]
1053    pub node_ids: ::prost::alloc::vec::Vec<i64>,
1054    #[prost(bool, tag = "2")]
1055    pub include_non_shared: bool,
1056}
1057#[derive(Clone, PartialEq, ::prost::Message)]
1058pub struct ComplianceRecordOwnersResponse {
1059    #[prost(message, repeated, tag = "1")]
1060    pub record_owners: ::prost::alloc::vec::Vec<RecordOwner>,
1061}
1062#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1063pub struct RecordOwner {
1064    #[prost(int64, tag = "1")]
1065    pub enterprise_user_id: i64,
1066    #[prost(bool, tag = "2")]
1067    pub shared: bool,
1068}
1069#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1070pub struct PreliminaryComplianceDataRequest {
1071    #[prost(int64, repeated, tag = "1")]
1072    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1073    #[prost(bool, tag = "2")]
1074    pub include_non_shared: bool,
1075    #[prost(bytes = "vec", tag = "3")]
1076    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
1077    #[prost(bool, tag = "4")]
1078    pub include_total_matching_records_in_first_response: bool,
1079}
1080#[derive(Clone, PartialEq, ::prost::Message)]
1081pub struct PreliminaryComplianceDataResponse {
1082    #[prost(message, repeated, tag = "1")]
1083    pub audit_user_data: ::prost::alloc::vec::Vec<AuditUserData>,
1084    #[prost(bytes = "vec", tag = "2")]
1085    pub continuation_token: ::prost::alloc::vec::Vec<u8>,
1086    #[prost(bool, tag = "3")]
1087    pub has_more: bool,
1088    #[prost(int32, tag = "4")]
1089    pub total_matching_records: i32,
1090}
1091#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1092pub struct AuditUserRecord {
1093    #[prost(bytes = "vec", tag = "1")]
1094    pub record_uid: ::prost::alloc::vec::Vec<u8>,
1095    #[prost(bytes = "vec", tag = "2")]
1096    pub encrypted_data: ::prost::alloc::vec::Vec<u8>,
1097    #[prost(bool, tag = "3")]
1098    pub shared: bool,
1099}
1100#[derive(Clone, PartialEq, ::prost::Message)]
1101pub struct AuditUserData {
1102    #[prost(int64, tag = "1")]
1103    pub enterprise_user_id: i64,
1104    #[prost(message, repeated, tag = "2")]
1105    pub audit_user_records: ::prost::alloc::vec::Vec<AuditUserRecord>,
1106    #[prost(enumeration = "AuditUserStatus", tag = "3")]
1107    pub status: i32,
1108}
1109#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1110pub struct ComplianceReportFilters {
1111    #[prost(string, repeated, tag = "1")]
1112    pub record_titles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1113    #[prost(bytes = "vec", repeated, tag = "2")]
1114    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1115    #[prost(int64, repeated, tag = "3")]
1116    pub job_titles: ::prost::alloc::vec::Vec<i64>,
1117    #[prost(string, repeated, tag = "4")]
1118    pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1119    #[prost(int64, repeated, tag = "5")]
1120    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1121}
1122#[derive(Clone, PartialEq, ::prost::Message)]
1123pub struct ComplianceReportRequest {
1124    #[prost(message, optional, tag = "1")]
1125    pub compliance_report_run: ::core::option::Option<ComplianceReportRun>,
1126    #[prost(string, tag = "2")]
1127    pub report_name: ::prost::alloc::string::String,
1128    #[prost(bool, tag = "3")]
1129    pub save_report: bool,
1130}
1131#[derive(Clone, PartialEq, ::prost::Message)]
1132pub struct ComplianceReportRun {
1133    #[prost(message, optional, tag = "1")]
1134    pub report_criteria_and_filter: ::core::option::Option<ComplianceReportCriteriaAndFilter>,
1135    #[prost(int64, repeated, tag = "2")]
1136    pub users: ::prost::alloc::vec::Vec<i64>,
1137    #[prost(bytes = "vec", repeated, tag = "3")]
1138    pub records: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1139}
1140#[derive(Clone, PartialEq, ::prost::Message)]
1141pub struct ComplianceReportCriteriaAndFilter {
1142    #[prost(int64, tag = "1")]
1143    pub node_id: i64,
1144    #[prost(bytes = "vec", tag = "2")]
1145    pub criteria_uid: ::prost::alloc::vec::Vec<u8>,
1146    #[prost(string, tag = "3")]
1147    pub criteria_name: ::prost::alloc::string::String,
1148    #[prost(message, optional, tag = "4")]
1149    pub criteria: ::core::option::Option<ComplianceReportCriteria>,
1150    #[prost(message, repeated, tag = "5")]
1151    pub filters: ::prost::alloc::vec::Vec<ComplianceReportFilter>,
1152    #[prost(int64, tag = "6")]
1153    pub last_modified: i64,
1154    #[prost(bytes = "vec", tag = "7")]
1155    pub node_encrypted_data: ::prost::alloc::vec::Vec<u8>,
1156}
1157#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1158pub struct ComplianceReportCriteria {
1159    #[prost(string, repeated, tag = "1")]
1160    pub job_titles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1161    #[prost(int64, repeated, tag = "2")]
1162    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1163    #[prost(bool, tag = "3")]
1164    pub include_non_shared: bool,
1165}
1166#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1167pub struct ComplianceReportFilter {
1168    #[prost(string, repeated, tag = "1")]
1169    pub record_titles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1170    #[prost(bytes = "vec", repeated, tag = "2")]
1171    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1172    #[prost(string, repeated, tag = "3")]
1173    pub job_titles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1174    #[prost(string, repeated, tag = "4")]
1175    pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1176    #[prost(string, repeated, tag = "5")]
1177    pub record_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1178}
1179#[derive(Clone, PartialEq, ::prost::Message)]
1180pub struct ComplianceReportResponse {
1181    #[prost(int64, tag = "1")]
1182    pub date_generated: i64,
1183    #[prost(string, tag = "2")]
1184    pub run_by_user_name: ::prost::alloc::string::String,
1185    #[prost(string, tag = "3")]
1186    pub report_name: ::prost::alloc::string::String,
1187    #[prost(bytes = "vec", tag = "4")]
1188    pub report_uid: ::prost::alloc::vec::Vec<u8>,
1189    #[prost(message, optional, tag = "5")]
1190    pub compliance_report_run: ::core::option::Option<ComplianceReportRun>,
1191    #[prost(message, repeated, tag = "6")]
1192    pub user_profiles: ::prost::alloc::vec::Vec<UserProfile>,
1193    #[prost(message, repeated, tag = "7")]
1194    pub audit_teams: ::prost::alloc::vec::Vec<AuditTeam>,
1195    #[prost(message, repeated, tag = "8")]
1196    pub audit_records: ::prost::alloc::vec::Vec<AuditRecord>,
1197    #[prost(message, repeated, tag = "9")]
1198    pub user_records: ::prost::alloc::vec::Vec<UserRecord>,
1199    #[prost(message, repeated, tag = "10")]
1200    pub shared_folder_records: ::prost::alloc::vec::Vec<SharedFolderRecord>,
1201    #[prost(message, repeated, tag = "11")]
1202    pub shared_folder_users: ::prost::alloc::vec::Vec<SharedFolderUser>,
1203    #[prost(message, repeated, tag = "12")]
1204    pub shared_folder_teams: ::prost::alloc::vec::Vec<SharedFolderTeam>,
1205    #[prost(message, repeated, tag = "13")]
1206    pub audit_team_users: ::prost::alloc::vec::Vec<AuditTeamUser>,
1207    #[prost(message, repeated, tag = "14")]
1208    pub audit_roles: ::prost::alloc::vec::Vec<AuditRole>,
1209    #[prost(message, repeated, tag = "15")]
1210    pub linked_records: ::prost::alloc::vec::Vec<LinkedRecord>,
1211}
1212#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1213pub struct AuditRecord {
1214    #[prost(bytes = "vec", tag = "1")]
1215    pub record_uid: ::prost::alloc::vec::Vec<u8>,
1216    #[prost(bytes = "vec", tag = "2")]
1217    pub audit_data: ::prost::alloc::vec::Vec<u8>,
1218    #[prost(bool, tag = "3")]
1219    pub has_attachments: bool,
1220    #[prost(bool, tag = "4")]
1221    pub in_trash: bool,
1222    #[prost(int32, tag = "5")]
1223    pub tree_left: i32,
1224    #[prost(int32, tag = "6")]
1225    pub tree_right: i32,
1226}
1227#[derive(Clone, PartialEq, ::prost::Message)]
1228pub struct AuditRole {
1229    #[prost(int64, tag = "1")]
1230    pub role_id: i64,
1231    #[prost(bytes = "vec", tag = "2")]
1232    pub encrypted_data: ::prost::alloc::vec::Vec<u8>,
1233    #[prost(bool, tag = "3")]
1234    pub restrict_share_outside_enterprise: bool,
1235    #[prost(bool, tag = "4")]
1236    pub restrict_share_all: bool,
1237    #[prost(bool, tag = "5")]
1238    pub restrict_share_of_attachments: bool,
1239    #[prost(bool, tag = "6")]
1240    pub restrict_mask_passwords_while_editing: bool,
1241    #[prost(message, repeated, tag = "7")]
1242    pub role_node_managements: ::prost::alloc::vec::Vec<RoleNodeManagement>,
1243}
1244#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1245pub struct RoleNodeManagement {
1246    #[prost(int32, tag = "1")]
1247    pub tree_left: i32,
1248    #[prost(int32, tag = "2")]
1249    pub tree_right: i32,
1250    #[prost(bool, tag = "3")]
1251    pub cascade: bool,
1252    #[prost(int32, tag = "4")]
1253    pub privileges: i32,
1254}
1255#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1256pub struct UserProfile {
1257    #[prost(int64, tag = "1")]
1258    pub enterprise_user_id: i64,
1259    #[prost(string, tag = "2")]
1260    pub full_name: ::prost::alloc::string::String,
1261    #[prost(string, tag = "3")]
1262    pub job_title: ::prost::alloc::string::String,
1263    #[prost(string, tag = "4")]
1264    pub email: ::prost::alloc::string::String,
1265    #[prost(int64, repeated, tag = "5")]
1266    pub role_ids: ::prost::alloc::vec::Vec<i64>,
1267}
1268#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1269pub struct RecordPermission {
1270    #[prost(bytes = "vec", tag = "1")]
1271    pub record_uid: ::prost::alloc::vec::Vec<u8>,
1272    #[prost(int32, tag = "2")]
1273    pub permission_bits: i32,
1274}
1275#[derive(Clone, PartialEq, ::prost::Message)]
1276pub struct UserRecord {
1277    #[prost(int64, tag = "1")]
1278    pub enterprise_user_id: i64,
1279    #[prost(message, repeated, tag = "2")]
1280    pub record_permissions: ::prost::alloc::vec::Vec<RecordPermission>,
1281}
1282#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1283pub struct AuditTeam {
1284    #[prost(bytes = "vec", tag = "1")]
1285    pub team_uid: ::prost::alloc::vec::Vec<u8>,
1286    #[prost(string, tag = "2")]
1287    pub team_name: ::prost::alloc::string::String,
1288    #[prost(bool, tag = "3")]
1289    pub restrict_edit: bool,
1290    #[prost(bool, tag = "4")]
1291    pub restrict_share: bool,
1292}
1293#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1294pub struct AuditTeamUser {
1295    #[prost(bytes = "vec", tag = "1")]
1296    pub team_uid: ::prost::alloc::vec::Vec<u8>,
1297    #[prost(int64, repeated, tag = "2")]
1298    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1299}
1300#[derive(Clone, PartialEq, ::prost::Message)]
1301pub struct SharedFolderRecord {
1302    #[prost(bytes = "vec", tag = "1")]
1303    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
1304    #[prost(message, repeated, tag = "2")]
1305    pub record_permissions: ::prost::alloc::vec::Vec<RecordPermission>,
1306    #[prost(message, repeated, tag = "3")]
1307    pub share_admin_records: ::prost::alloc::vec::Vec<ShareAdminRecord>,
1308}
1309#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1310pub struct ShareAdminRecord {
1311    #[prost(int64, tag = "1")]
1312    pub enterprise_user_id: i64,
1313    #[prost(int32, repeated, tag = "2")]
1314    pub record_permission_indexes: ::prost::alloc::vec::Vec<i32>,
1315}
1316#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1317pub struct SharedFolderUser {
1318    #[prost(bytes = "vec", tag = "1")]
1319    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
1320    #[prost(int64, repeated, tag = "2")]
1321    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1322}
1323#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1324pub struct SharedFolderTeam {
1325    #[prost(bytes = "vec", tag = "1")]
1326    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
1327    #[prost(bytes = "vec", repeated, tag = "2")]
1328    pub team_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1329}
1330#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1331pub struct GetComplianceReportRequest {
1332    #[prost(bytes = "vec", tag = "1")]
1333    pub report_uid: ::prost::alloc::vec::Vec<u8>,
1334}
1335#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1336pub struct GetComplianceReportResponse {
1337    #[prost(string, tag = "1")]
1338    pub download_url: ::prost::alloc::string::String,
1339}
1340#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1341pub struct ComplianceReportCriteriaRequest {
1342    #[prost(bytes = "vec", tag = "1")]
1343    pub criteria_uid: ::prost::alloc::vec::Vec<u8>,
1344}
1345#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1346pub struct SaveComplianceReportCriteriaResponse {
1347    #[prost(bytes = "vec", tag = "1")]
1348    pub criteria_uid: ::prost::alloc::vec::Vec<u8>,
1349}
1350#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1351pub struct LinkedRecord {
1352    #[prost(bytes = "vec", tag = "1")]
1353    pub owner_uid: ::prost::alloc::vec::Vec<u8>,
1354    #[prost(bytes = "vec", repeated, tag = "2")]
1355    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1356}
1357#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1358pub struct GetSharingAdminsRequest {
1359    #[prost(bytes = "vec", tag = "1")]
1360    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
1361    #[prost(bytes = "vec", tag = "2")]
1362    pub record_uid: ::prost::alloc::vec::Vec<u8>,
1363    #[prost(string, tag = "3")]
1364    pub username: ::prost::alloc::string::String,
1365}
1366#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1367pub struct UserProfileExt {
1368    #[prost(string, tag = "1")]
1369    pub email: ::prost::alloc::string::String,
1370    #[prost(string, tag = "2")]
1371    pub full_name: ::prost::alloc::string::String,
1372    #[prost(string, tag = "3")]
1373    pub job_title: ::prost::alloc::string::String,
1374    #[prost(bool, tag = "4")]
1375    pub is_mspmc_admin: bool,
1376    #[prost(bool, tag = "5")]
1377    pub is_in_shared_folder: bool,
1378    #[prost(bool, tag = "6")]
1379    pub is_share_admin_for_requested_object: bool,
1380    #[prost(bool, tag = "7")]
1381    pub is_share_admin_for_shared_folder_owner: bool,
1382    #[prost(bool, tag = "8")]
1383    pub has_access_to_object: bool,
1384}
1385#[derive(Clone, PartialEq, ::prost::Message)]
1386pub struct GetSharingAdminsResponse {
1387    #[prost(message, repeated, tag = "1")]
1388    pub user_profile_exts: ::prost::alloc::vec::Vec<UserProfileExt>,
1389}
1390#[derive(Clone, PartialEq, ::prost::Message)]
1391pub struct TeamsEnterpriseUsersAddRequest {
1392    #[prost(message, repeated, tag = "1")]
1393    pub teams: ::prost::alloc::vec::Vec<TeamsEnterpriseUsersAddTeamRequest>,
1394}
1395#[derive(Clone, PartialEq, ::prost::Message)]
1396pub struct TeamsEnterpriseUsersAddTeamRequest {
1397    #[prost(bytes = "vec", tag = "1")]
1398    pub team_uid: ::prost::alloc::vec::Vec<u8>,
1399    #[prost(message, repeated, tag = "2")]
1400    pub users: ::prost::alloc::vec::Vec<TeamsEnterpriseUsersAddUserRequest>,
1401}
1402#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1403pub struct TeamsEnterpriseUsersAddUserRequest {
1404    #[prost(int64, tag = "1")]
1405    pub enterprise_user_id: i64,
1406    #[prost(enumeration = "TeamUserType", tag = "2")]
1407    pub user_type: i32,
1408    #[prost(string, tag = "3")]
1409    pub team_key: ::prost::alloc::string::String,
1410    #[prost(message, optional, tag = "4")]
1411    pub typed_team_key: ::core::option::Option<TypedKey>,
1412}
1413#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1414pub struct TypedKey {
1415    #[prost(bytes = "vec", tag = "1")]
1416    pub key: ::prost::alloc::vec::Vec<u8>,
1417    #[prost(enumeration = "EncryptedKeyType", tag = "2")]
1418    pub key_type: i32,
1419}
1420#[derive(Clone, PartialEq, ::prost::Message)]
1421pub struct TeamsEnterpriseUsersAddResponse {
1422    #[prost(message, repeated, tag = "1")]
1423    pub teams: ::prost::alloc::vec::Vec<TeamsEnterpriseUsersAddTeamResponse>,
1424    #[prost(int64, tag = "2")]
1425    pub revision: i64,
1426}
1427#[derive(Clone, PartialEq, ::prost::Message)]
1428pub struct TeamsEnterpriseUsersAddTeamResponse {
1429    #[prost(bytes = "vec", tag = "1")]
1430    pub team_uid: ::prost::alloc::vec::Vec<u8>,
1431    #[prost(message, repeated, tag = "2")]
1432    pub users: ::prost::alloc::vec::Vec<TeamsEnterpriseUsersAddUserResponse>,
1433    #[prost(bool, tag = "3")]
1434    pub success: bool,
1435    #[prost(string, tag = "4")]
1436    pub message: ::prost::alloc::string::String,
1437    #[prost(string, tag = "5")]
1438    pub result_code: ::prost::alloc::string::String,
1439    #[prost(string, tag = "6")]
1440    pub additional_info: ::prost::alloc::string::String,
1441}
1442#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1443pub struct TeamsEnterpriseUsersAddUserResponse {
1444    #[prost(int64, tag = "1")]
1445    pub enterprise_user_id: i64,
1446    #[prost(int64, tag = "2")]
1447    pub revision: i64,
1448    #[prost(bool, tag = "3")]
1449    pub success: bool,
1450    #[prost(string, tag = "4")]
1451    pub message: ::prost::alloc::string::String,
1452    #[prost(string, tag = "5")]
1453    pub result_code: ::prost::alloc::string::String,
1454    #[prost(string, tag = "6")]
1455    pub additional_info: ::prost::alloc::string::String,
1456}
1457#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1458pub struct DomainAlias {
1459    #[prost(string, tag = "1")]
1460    pub domain: ::prost::alloc::string::String,
1461    #[prost(string, tag = "2")]
1462    pub alias: ::prost::alloc::string::String,
1463    #[prost(int32, tag = "3")]
1464    pub status: i32,
1465    #[prost(string, tag = "4")]
1466    pub message: ::prost::alloc::string::String,
1467}
1468#[derive(Clone, PartialEq, ::prost::Message)]
1469pub struct DomainAliasRequest {
1470    #[prost(message, repeated, tag = "1")]
1471    pub domain_alias: ::prost::alloc::vec::Vec<DomainAlias>,
1472}
1473#[derive(Clone, PartialEq, ::prost::Message)]
1474pub struct DomainAliasResponse {
1475    #[prost(message, repeated, tag = "1")]
1476    pub domain_alias: ::prost::alloc::vec::Vec<DomainAlias>,
1477}
1478#[derive(Clone, PartialEq, ::prost::Message)]
1479pub struct EnterpriseUsersProvisionRequest {
1480    #[prost(message, repeated, tag = "1")]
1481    pub users: ::prost::alloc::vec::Vec<EnterpriseUsersProvision>,
1482    #[prost(string, tag = "2")]
1483    pub client_version: ::prost::alloc::string::String,
1484}
1485#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1486pub struct EnterpriseUsersProvision {
1487    #[prost(int64, tag = "1")]
1488    pub enterprise_user_id: i64,
1489    #[prost(string, tag = "2")]
1490    pub username: ::prost::alloc::string::String,
1491    #[prost(int64, tag = "3")]
1492    pub node_id: i64,
1493    #[prost(string, tag = "4")]
1494    pub encrypted_data: ::prost::alloc::string::String,
1495    #[prost(enumeration = "EncryptedKeyType", tag = "5")]
1496    pub key_type: i32,
1497    #[prost(string, tag = "6")]
1498    pub full_name: ::prost::alloc::string::String,
1499    #[prost(string, tag = "7")]
1500    pub job_title: ::prost::alloc::string::String,
1501    #[prost(bytes = "vec", tag = "8")]
1502    pub enterprise_users_data_key: ::prost::alloc::vec::Vec<u8>,
1503    #[prost(bytes = "vec", tag = "9")]
1504    pub auth_verifier: ::prost::alloc::vec::Vec<u8>,
1505    #[prost(bytes = "vec", tag = "10")]
1506    pub encryption_params: ::prost::alloc::vec::Vec<u8>,
1507    #[prost(bytes = "vec", tag = "11")]
1508    pub rsa_public_key: ::prost::alloc::vec::Vec<u8>,
1509    #[prost(bytes = "vec", tag = "12")]
1510    pub rsa_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
1511    #[prost(bytes = "vec", tag = "13")]
1512    pub ecc_public_key: ::prost::alloc::vec::Vec<u8>,
1513    #[prost(bytes = "vec", tag = "14")]
1514    pub ecc_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
1515    #[prost(bytes = "vec", tag = "15")]
1516    pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
1517    #[prost(bytes = "vec", tag = "16")]
1518    pub encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
1519}
1520#[derive(Clone, PartialEq, ::prost::Message)]
1521pub struct EnterpriseUsersProvisionResponse {
1522    #[prost(message, repeated, tag = "1")]
1523    pub results: ::prost::alloc::vec::Vec<EnterpriseUsersProvisionResult>,
1524}
1525#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1526pub struct EnterpriseUsersProvisionResult {
1527    #[prost(int64, tag = "1")]
1528    pub enterprise_user_id: i64,
1529    #[prost(string, tag = "2")]
1530    pub code: ::prost::alloc::string::String,
1531    #[prost(string, tag = "3")]
1532    pub message: ::prost::alloc::string::String,
1533    #[prost(string, tag = "4")]
1534    pub additional_info: ::prost::alloc::string::String,
1535}
1536#[derive(Clone, PartialEq, ::prost::Message)]
1537pub struct EnterpriseUsersAddRequest {
1538    #[prost(message, repeated, tag = "1")]
1539    pub users: ::prost::alloc::vec::Vec<EnterpriseUsersAdd>,
1540    #[prost(string, tag = "2")]
1541    pub client_version: ::prost::alloc::string::String,
1542}
1543#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1544pub struct EnterpriseUsersAdd {
1545    #[prost(int64, tag = "1")]
1546    pub enterprise_user_id: i64,
1547    #[prost(string, tag = "2")]
1548    pub username: ::prost::alloc::string::String,
1549    #[prost(int64, tag = "3")]
1550    pub node_id: i64,
1551    #[prost(string, tag = "4")]
1552    pub encrypted_data: ::prost::alloc::string::String,
1553    #[prost(enumeration = "EncryptedKeyType", tag = "5")]
1554    pub key_type: i32,
1555    #[prost(string, tag = "6")]
1556    pub full_name: ::prost::alloc::string::String,
1557    #[prost(string, tag = "7")]
1558    pub job_title: ::prost::alloc::string::String,
1559    #[prost(bool, tag = "8")]
1560    pub suppress_email_invite: bool,
1561    #[prost(string, tag = "9")]
1562    pub invitee_locale: ::prost::alloc::string::String,
1563    #[prost(bool, tag = "10")]
1564    pub r#move: bool,
1565    #[prost(int64, tag = "11")]
1566    pub role_id: i64,
1567}
1568#[derive(Clone, PartialEq, ::prost::Message)]
1569pub struct EnterpriseUsersAddResponse {
1570    #[prost(message, repeated, tag = "1")]
1571    pub results: ::prost::alloc::vec::Vec<EnterpriseUsersAddResult>,
1572    #[prost(bool, tag = "2")]
1573    pub success: bool,
1574    #[prost(string, tag = "3")]
1575    pub code: ::prost::alloc::string::String,
1576    #[prost(string, tag = "4")]
1577    pub message: ::prost::alloc::string::String,
1578    #[prost(string, tag = "5")]
1579    pub additional_info: ::prost::alloc::string::String,
1580}
1581#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1582pub struct EnterpriseUsersAddResult {
1583    #[prost(int64, tag = "1")]
1584    pub enterprise_user_id: i64,
1585    #[prost(bool, tag = "2")]
1586    pub success: bool,
1587    #[prost(string, tag = "3")]
1588    pub verification_code: ::prost::alloc::string::String,
1589    #[prost(string, tag = "4")]
1590    pub code: ::prost::alloc::string::String,
1591    #[prost(string, tag = "5")]
1592    pub message: ::prost::alloc::string::String,
1593    #[prost(string, tag = "6")]
1594    pub additional_info: ::prost::alloc::string::String,
1595}
1596#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1597pub struct UpdateMspPermitsRequest {
1598    #[prost(int32, tag = "1")]
1599    pub msp_enterprise_id: i32,
1600    #[prost(int32, tag = "2")]
1601    pub max_allowed_licenses: i32,
1602    #[prost(string, repeated, tag = "3")]
1603    pub allowed_mc_products: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1604    #[prost(string, repeated, tag = "4")]
1605    pub allowed_add_ons: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1606    #[prost(string, tag = "5")]
1607    pub max_file_plan_type: ::prost::alloc::string::String,
1608    #[prost(bool, tag = "6")]
1609    pub allow_unlimited_licenses: bool,
1610}
1611#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1612pub struct DeleteEnterpriseUsersRequest {
1613    #[prost(int64, repeated, tag = "1")]
1614    pub enterprise_user_ids: ::prost::alloc::vec::Vec<i64>,
1615}
1616#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1617pub struct DeleteEnterpriseUserStatus {
1618    #[prost(int64, tag = "1")]
1619    pub enterprise_user_id: i64,
1620    #[prost(enumeration = "DeleteEnterpriseUsersResult", tag = "2")]
1621    pub status: i32,
1622}
1623#[derive(Clone, PartialEq, ::prost::Message)]
1624pub struct DeleteEnterpriseUsersResponse {
1625    #[prost(message, repeated, tag = "1")]
1626    pub delete_status: ::prost::alloc::vec::Vec<DeleteEnterpriseUserStatus>,
1627}
1628#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1629pub struct ClearSecurityDataRequest {
1630    #[prost(int64, repeated, tag = "1")]
1631    pub enterprise_user_id: ::prost::alloc::vec::Vec<i64>,
1632    #[prost(bool, tag = "2")]
1633    pub all_users: bool,
1634    #[prost(enumeration = "ClearSecurityDataType", tag = "3")]
1635    pub r#type: i32,
1636}
1637#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1638#[repr(i32)]
1639pub enum KeyType {
1640    Rsa = 0,
1641    Ecc = 1,
1642}
1643impl KeyType {
1644    /// String value of the enum field names used in the ProtoBuf definition.
1645    ///
1646    /// The values are not transformed in any way and thus are considered stable
1647    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1648    pub fn as_str_name(&self) -> &'static str {
1649        match self {
1650            Self::Rsa => "RSA",
1651            Self::Ecc => "ECC",
1652        }
1653    }
1654    /// Creates an enum from field names used in the ProtoBuf definition.
1655    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1656        match value {
1657            "RSA" => Some(Self::Rsa),
1658            "ECC" => Some(Self::Ecc),
1659            _ => None,
1660        }
1661    }
1662}
1663#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1664#[repr(i32)]
1665pub enum RoleUserModifyStatus {
1666    RoleExists = 0,
1667    MissingTreeKey = 1,
1668    MissingRoleKey = 2,
1669    InvalidEnterpriseUserId = 3,
1670    PendingEnterpriseUser = 4,
1671    InvalidNodeId = 5,
1672    MayNotRemoveSelfFromRole = 6,
1673    MustHaveOneUserAdmin = 7,
1674}
1675impl RoleUserModifyStatus {
1676    /// String value of the enum field names used in the ProtoBuf definition.
1677    ///
1678    /// The values are not transformed in any way and thus are considered stable
1679    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1680    pub fn as_str_name(&self) -> &'static str {
1681        match self {
1682            Self::RoleExists => "ROLE_EXISTS",
1683            Self::MissingTreeKey => "MISSING_TREE_KEY",
1684            Self::MissingRoleKey => "MISSING_ROLE_KEY",
1685            Self::InvalidEnterpriseUserId => "INVALID_ENTERPRISE_USER_ID",
1686            Self::PendingEnterpriseUser => "PENDING_ENTERPRISE_USER",
1687            Self::InvalidNodeId => "INVALID_NODE_ID",
1688            Self::MayNotRemoveSelfFromRole => "MAY_NOT_REMOVE_SELF_FROM_ROLE",
1689            Self::MustHaveOneUserAdmin => "MUST_HAVE_ONE_USER_ADMIN",
1690        }
1691    }
1692    /// Creates an enum from field names used in the ProtoBuf definition.
1693    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1694        match value {
1695            "ROLE_EXISTS" => Some(Self::RoleExists),
1696            "MISSING_TREE_KEY" => Some(Self::MissingTreeKey),
1697            "MISSING_ROLE_KEY" => Some(Self::MissingRoleKey),
1698            "INVALID_ENTERPRISE_USER_ID" => Some(Self::InvalidEnterpriseUserId),
1699            "PENDING_ENTERPRISE_USER" => Some(Self::PendingEnterpriseUser),
1700            "INVALID_NODE_ID" => Some(Self::InvalidNodeId),
1701            "MAY_NOT_REMOVE_SELF_FROM_ROLE" => Some(Self::MayNotRemoveSelfFromRole),
1702            "MUST_HAVE_ONE_USER_ADMIN" => Some(Self::MustHaveOneUserAdmin),
1703            _ => None,
1704        }
1705    }
1706}
1707#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1708#[repr(i32)]
1709pub enum EnterpriseType {
1710    EnterpriseStandard = 0,
1711    EnterpriseMsp = 1,
1712}
1713impl EnterpriseType {
1714    /// String value of the enum field names used in the ProtoBuf definition.
1715    ///
1716    /// The values are not transformed in any way and thus are considered stable
1717    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1718    pub fn as_str_name(&self) -> &'static str {
1719        match self {
1720            Self::EnterpriseStandard => "ENTERPRISE_STANDARD",
1721            Self::EnterpriseMsp => "ENTERPRISE_MSP",
1722        }
1723    }
1724    /// Creates an enum from field names used in the ProtoBuf definition.
1725    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1726        match value {
1727            "ENTERPRISE_STANDARD" => Some(Self::EnterpriseStandard),
1728            "ENTERPRISE_MSP" => Some(Self::EnterpriseMsp),
1729            _ => None,
1730        }
1731    }
1732}
1733#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1734#[repr(i32)]
1735pub enum TransferAcceptanceStatus {
1736    Undefined = 0,
1737    NotRequired = 1,
1738    NotAccepted = 2,
1739    PartiallyAccepted = 3,
1740    Accepted = 4,
1741}
1742impl TransferAcceptanceStatus {
1743    /// String value of the enum field names used in the ProtoBuf definition.
1744    ///
1745    /// The values are not transformed in any way and thus are considered stable
1746    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1747    pub fn as_str_name(&self) -> &'static str {
1748        match self {
1749            Self::Undefined => "UNDEFINED",
1750            Self::NotRequired => "NOT_REQUIRED",
1751            Self::NotAccepted => "NOT_ACCEPTED",
1752            Self::PartiallyAccepted => "PARTIALLY_ACCEPTED",
1753            Self::Accepted => "ACCEPTED",
1754        }
1755    }
1756    /// Creates an enum from field names used in the ProtoBuf definition.
1757    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1758        match value {
1759            "UNDEFINED" => Some(Self::Undefined),
1760            "NOT_REQUIRED" => Some(Self::NotRequired),
1761            "NOT_ACCEPTED" => Some(Self::NotAccepted),
1762            "PARTIALLY_ACCEPTED" => Some(Self::PartiallyAccepted),
1763            "ACCEPTED" => Some(Self::Accepted),
1764            _ => None,
1765        }
1766    }
1767}
1768#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1769#[repr(i32)]
1770pub enum EnterpriseDataEntity {
1771    Unknown = 0,
1772    Nodes = 1,
1773    Roles = 2,
1774    Users = 3,
1775    Teams = 4,
1776    TeamUsers = 5,
1777    RoleUsers = 6,
1778    RolePrivileges = 7,
1779    RoleEnforcements = 8,
1780    RoleTeams = 9,
1781    Licenses = 10,
1782    ManagedNodes = 11,
1783    ManagedCompanies = 12,
1784    Bridges = 13,
1785    Scims = 14,
1786    EmailProvision = 15,
1787    QueuedTeams = 16,
1788    QueuedTeamUsers = 17,
1789    SsoServices = 18,
1790    ReportFilterUsers = 19,
1791    DevicesRequestForAdminApproval = 20,
1792    UserAliases = 21,
1793    ComplianceReportCriteriaAndFilter = 22,
1794    ComplianceReports = 23,
1795    QueuedTeamUsersIncludingPending = 24,
1796}
1797impl EnterpriseDataEntity {
1798    /// String value of the enum field names used in the ProtoBuf definition.
1799    ///
1800    /// The values are not transformed in any way and thus are considered stable
1801    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1802    pub fn as_str_name(&self) -> &'static str {
1803        match self {
1804            Self::Unknown => "UNKNOWN",
1805            Self::Nodes => "NODES",
1806            Self::Roles => "ROLES",
1807            Self::Users => "USERS",
1808            Self::Teams => "TEAMS",
1809            Self::TeamUsers => "TEAM_USERS",
1810            Self::RoleUsers => "ROLE_USERS",
1811            Self::RolePrivileges => "ROLE_PRIVILEGES",
1812            Self::RoleEnforcements => "ROLE_ENFORCEMENTS",
1813            Self::RoleTeams => "ROLE_TEAMS",
1814            Self::Licenses => "LICENSES",
1815            Self::ManagedNodes => "MANAGED_NODES",
1816            Self::ManagedCompanies => "MANAGED_COMPANIES",
1817            Self::Bridges => "BRIDGES",
1818            Self::Scims => "SCIMS",
1819            Self::EmailProvision => "EMAIL_PROVISION",
1820            Self::QueuedTeams => "QUEUED_TEAMS",
1821            Self::QueuedTeamUsers => "QUEUED_TEAM_USERS",
1822            Self::SsoServices => "SSO_SERVICES",
1823            Self::ReportFilterUsers => "REPORT_FILTER_USERS",
1824            Self::DevicesRequestForAdminApproval => "DEVICES_REQUEST_FOR_ADMIN_APPROVAL",
1825            Self::UserAliases => "USER_ALIASES",
1826            Self::ComplianceReportCriteriaAndFilter => "COMPLIANCE_REPORT_CRITERIA_AND_FILTER",
1827            Self::ComplianceReports => "COMPLIANCE_REPORTS",
1828            Self::QueuedTeamUsersIncludingPending => "QUEUED_TEAM_USERS_INCLUDING_PENDING",
1829        }
1830    }
1831    /// Creates an enum from field names used in the ProtoBuf definition.
1832    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1833        match value {
1834            "UNKNOWN" => Some(Self::Unknown),
1835            "NODES" => Some(Self::Nodes),
1836            "ROLES" => Some(Self::Roles),
1837            "USERS" => Some(Self::Users),
1838            "TEAMS" => Some(Self::Teams),
1839            "TEAM_USERS" => Some(Self::TeamUsers),
1840            "ROLE_USERS" => Some(Self::RoleUsers),
1841            "ROLE_PRIVILEGES" => Some(Self::RolePrivileges),
1842            "ROLE_ENFORCEMENTS" => Some(Self::RoleEnforcements),
1843            "ROLE_TEAMS" => Some(Self::RoleTeams),
1844            "LICENSES" => Some(Self::Licenses),
1845            "MANAGED_NODES" => Some(Self::ManagedNodes),
1846            "MANAGED_COMPANIES" => Some(Self::ManagedCompanies),
1847            "BRIDGES" => Some(Self::Bridges),
1848            "SCIMS" => Some(Self::Scims),
1849            "EMAIL_PROVISION" => Some(Self::EmailProvision),
1850            "QUEUED_TEAMS" => Some(Self::QueuedTeams),
1851            "QUEUED_TEAM_USERS" => Some(Self::QueuedTeamUsers),
1852            "SSO_SERVICES" => Some(Self::SsoServices),
1853            "REPORT_FILTER_USERS" => Some(Self::ReportFilterUsers),
1854            "DEVICES_REQUEST_FOR_ADMIN_APPROVAL" => Some(Self::DevicesRequestForAdminApproval),
1855            "USER_ALIASES" => Some(Self::UserAliases),
1856            "COMPLIANCE_REPORT_CRITERIA_AND_FILTER" => {
1857                Some(Self::ComplianceReportCriteriaAndFilter)
1858            }
1859            "COMPLIANCE_REPORTS" => Some(Self::ComplianceReports),
1860            "QUEUED_TEAM_USERS_INCLUDING_PENDING" => Some(Self::QueuedTeamUsersIncludingPending),
1861            _ => None,
1862        }
1863    }
1864}
1865#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1866#[repr(i32)]
1867pub enum CacheStatus {
1868    Keep = 0,
1869    Clear = 1,
1870}
1871impl CacheStatus {
1872    /// String value of the enum field names used in the ProtoBuf definition.
1873    ///
1874    /// The values are not transformed in any way and thus are considered stable
1875    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1876    pub fn as_str_name(&self) -> &'static str {
1877        match self {
1878            Self::Keep => "KEEP",
1879            Self::Clear => "CLEAR",
1880        }
1881    }
1882    /// Creates an enum from field names used in the ProtoBuf definition.
1883    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1884        match value {
1885            "KEEP" => Some(Self::Keep),
1886            "CLEAR" => Some(Self::Clear),
1887            _ => None,
1888        }
1889    }
1890}
1891#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1892#[repr(i32)]
1893pub enum BackupKeyType {
1894    NoKey = 0,
1895    EncryptedByDataKey = 1,
1896    EncryptedByPublicKey = 2,
1897    EncryptedByDataKeyGcm = 3,
1898    EncryptedByPublicKeyEcc = 4,
1899}
1900impl BackupKeyType {
1901    /// String value of the enum field names used in the ProtoBuf definition.
1902    ///
1903    /// The values are not transformed in any way and thus are considered stable
1904    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1905    pub fn as_str_name(&self) -> &'static str {
1906        match self {
1907            Self::NoKey => "NO_KEY",
1908            Self::EncryptedByDataKey => "ENCRYPTED_BY_DATA_KEY",
1909            Self::EncryptedByPublicKey => "ENCRYPTED_BY_PUBLIC_KEY",
1910            Self::EncryptedByDataKeyGcm => "ENCRYPTED_BY_DATA_KEY_GCM",
1911            Self::EncryptedByPublicKeyEcc => "ENCRYPTED_BY_PUBLIC_KEY_ECC",
1912        }
1913    }
1914    /// Creates an enum from field names used in the ProtoBuf definition.
1915    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1916        match value {
1917            "NO_KEY" => Some(Self::NoKey),
1918            "ENCRYPTED_BY_DATA_KEY" => Some(Self::EncryptedByDataKey),
1919            "ENCRYPTED_BY_PUBLIC_KEY" => Some(Self::EncryptedByPublicKey),
1920            "ENCRYPTED_BY_DATA_KEY_GCM" => Some(Self::EncryptedByDataKeyGcm),
1921            "ENCRYPTED_BY_PUBLIC_KEY_ECC" => Some(Self::EncryptedByPublicKeyEcc),
1922            _ => None,
1923        }
1924    }
1925}
1926#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1927#[repr(i32)]
1928pub enum BackupUserDataKeyType {
1929    Own = 0,
1930    SharedToEnterprise = 1,
1931}
1932impl BackupUserDataKeyType {
1933    /// String value of the enum field names used in the ProtoBuf definition.
1934    ///
1935    /// The values are not transformed in any way and thus are considered stable
1936    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1937    pub fn as_str_name(&self) -> &'static str {
1938        match self {
1939            Self::Own => "OWN",
1940            Self::SharedToEnterprise => "SHARED_TO_ENTERPRISE",
1941        }
1942    }
1943    /// Creates an enum from field names used in the ProtoBuf definition.
1944    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1945        match value {
1946            "OWN" => Some(Self::Own),
1947            "SHARED_TO_ENTERPRISE" => Some(Self::SharedToEnterprise),
1948            _ => None,
1949        }
1950    }
1951}
1952#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1953#[repr(i32)]
1954pub enum EncryptedKeyType {
1955    KtNoKey = 0,
1956    KtEncryptedByDataKey = 1,
1957    KtEncryptedByPublicKey = 2,
1958    KtEncryptedByDataKeyGcm = 3,
1959    KtEncryptedByPublicKeyEcc = 4,
1960}
1961impl EncryptedKeyType {
1962    /// String value of the enum field names used in the ProtoBuf definition.
1963    ///
1964    /// The values are not transformed in any way and thus are considered stable
1965    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1966    pub fn as_str_name(&self) -> &'static str {
1967        match self {
1968            Self::KtNoKey => "KT_NO_KEY",
1969            Self::KtEncryptedByDataKey => "KT_ENCRYPTED_BY_DATA_KEY",
1970            Self::KtEncryptedByPublicKey => "KT_ENCRYPTED_BY_PUBLIC_KEY",
1971            Self::KtEncryptedByDataKeyGcm => "KT_ENCRYPTED_BY_DATA_KEY_GCM",
1972            Self::KtEncryptedByPublicKeyEcc => "KT_ENCRYPTED_BY_PUBLIC_KEY_ECC",
1973        }
1974    }
1975    /// Creates an enum from field names used in the ProtoBuf definition.
1976    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1977        match value {
1978            "KT_NO_KEY" => Some(Self::KtNoKey),
1979            "KT_ENCRYPTED_BY_DATA_KEY" => Some(Self::KtEncryptedByDataKey),
1980            "KT_ENCRYPTED_BY_PUBLIC_KEY" => Some(Self::KtEncryptedByPublicKey),
1981            "KT_ENCRYPTED_BY_DATA_KEY_GCM" => Some(Self::KtEncryptedByDataKeyGcm),
1982            "KT_ENCRYPTED_BY_PUBLIC_KEY_ECC" => Some(Self::KtEncryptedByPublicKeyEcc),
1983            _ => None,
1984        }
1985    }
1986}
1987#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1988#[repr(i32)]
1989pub enum EnterpriseFlagType {
1990    Invalid = 0,
1991    AllowPersonalLicense = 1,
1992    SpecialProvisioning = 2,
1993    RecordTypes = 3,
1994    SecretsManager = 4,
1995    EnterpriseLocked = 5,
1996    ForbidKeyType2 = 6,
1997    ConsoleOnboarded = 7,
1998    ForbidAccountTransfer = 8,
1999    NpsPopupOptOut = 9,
2000    ShowUserOnboard = 10,
2001}
2002impl EnterpriseFlagType {
2003    /// String value of the enum field names used in the ProtoBuf definition.
2004    ///
2005    /// The values are not transformed in any way and thus are considered stable
2006    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2007    pub fn as_str_name(&self) -> &'static str {
2008        match self {
2009            Self::Invalid => "INVALID",
2010            Self::AllowPersonalLicense => "ALLOW_PERSONAL_LICENSE",
2011            Self::SpecialProvisioning => "SPECIAL_PROVISIONING",
2012            Self::RecordTypes => "RECORD_TYPES",
2013            Self::SecretsManager => "SECRETS_MANAGER",
2014            Self::EnterpriseLocked => "ENTERPRISE_LOCKED",
2015            Self::ForbidKeyType2 => "FORBID_KEY_TYPE_2",
2016            Self::ConsoleOnboarded => "CONSOLE_ONBOARDED",
2017            Self::ForbidAccountTransfer => "FORBID_ACCOUNT_TRANSFER",
2018            Self::NpsPopupOptOut => "NPS_POPUP_OPT_OUT",
2019            Self::ShowUserOnboard => "SHOW_USER_ONBOARD",
2020        }
2021    }
2022    /// Creates an enum from field names used in the ProtoBuf definition.
2023    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2024        match value {
2025            "INVALID" => Some(Self::Invalid),
2026            "ALLOW_PERSONAL_LICENSE" => Some(Self::AllowPersonalLicense),
2027            "SPECIAL_PROVISIONING" => Some(Self::SpecialProvisioning),
2028            "RECORD_TYPES" => Some(Self::RecordTypes),
2029            "SECRETS_MANAGER" => Some(Self::SecretsManager),
2030            "ENTERPRISE_LOCKED" => Some(Self::EnterpriseLocked),
2031            "FORBID_KEY_TYPE_2" => Some(Self::ForbidKeyType2),
2032            "CONSOLE_ONBOARDED" => Some(Self::ConsoleOnboarded),
2033            "FORBID_ACCOUNT_TRANSFER" => Some(Self::ForbidAccountTransfer),
2034            "NPS_POPUP_OPT_OUT" => Some(Self::NpsPopupOptOut),
2035            "SHOW_USER_ONBOARD" => Some(Self::ShowUserOnboard),
2036            _ => None,
2037        }
2038    }
2039}
2040#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2041#[repr(i32)]
2042pub enum UserUpdateStatus {
2043    UserUpdateOk = 0,
2044    UserUpdateAccessDenied = 1,
2045}
2046impl UserUpdateStatus {
2047    /// String value of the enum field names used in the ProtoBuf definition.
2048    ///
2049    /// The values are not transformed in any way and thus are considered stable
2050    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2051    pub fn as_str_name(&self) -> &'static str {
2052        match self {
2053            Self::UserUpdateOk => "USER_UPDATE_OK",
2054            Self::UserUpdateAccessDenied => "USER_UPDATE_ACCESS_DENIED",
2055        }
2056    }
2057    /// Creates an enum from field names used in the ProtoBuf definition.
2058    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2059        match value {
2060            "USER_UPDATE_OK" => Some(Self::UserUpdateOk),
2061            "USER_UPDATE_ACCESS_DENIED" => Some(Self::UserUpdateAccessDenied),
2062            _ => None,
2063        }
2064    }
2065}
2066#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2067#[repr(i32)]
2068pub enum AuditUserStatus {
2069    Ok = 0,
2070    AccessDenied = 1,
2071    NoLongerInEnterprise = 2,
2072}
2073impl AuditUserStatus {
2074    /// String value of the enum field names used in the ProtoBuf definition.
2075    ///
2076    /// The values are not transformed in any way and thus are considered stable
2077    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2078    pub fn as_str_name(&self) -> &'static str {
2079        match self {
2080            Self::Ok => "OK",
2081            Self::AccessDenied => "ACCESS_DENIED",
2082            Self::NoLongerInEnterprise => "NO_LONGER_IN_ENTERPRISE",
2083        }
2084    }
2085    /// Creates an enum from field names used in the ProtoBuf definition.
2086    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2087        match value {
2088            "OK" => Some(Self::Ok),
2089            "ACCESS_DENIED" => Some(Self::AccessDenied),
2090            "NO_LONGER_IN_ENTERPRISE" => Some(Self::NoLongerInEnterprise),
2091            _ => None,
2092        }
2093    }
2094}
2095#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2096#[repr(i32)]
2097pub enum TeamUserType {
2098    User = 0,
2099    Admin = 1,
2100    AdminOnly = 2,
2101}
2102impl TeamUserType {
2103    /// String value of the enum field names used in the ProtoBuf definition.
2104    ///
2105    /// The values are not transformed in any way and thus are considered stable
2106    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2107    pub fn as_str_name(&self) -> &'static str {
2108        match self {
2109            Self::User => "USER",
2110            Self::Admin => "ADMIN",
2111            Self::AdminOnly => "ADMIN_ONLY",
2112        }
2113    }
2114    /// Creates an enum from field names used in the ProtoBuf definition.
2115    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2116        match value {
2117            "USER" => Some(Self::User),
2118            "ADMIN" => Some(Self::Admin),
2119            "ADMIN_ONLY" => Some(Self::AdminOnly),
2120            _ => None,
2121        }
2122    }
2123}
2124#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2125#[repr(i32)]
2126pub enum AppClientType {
2127    NotUsed = 0,
2128    General = 1,
2129    DiscoveryAndRotationController = 2,
2130    KcmController = 3,
2131    SelfDestruct = 4,
2132}
2133impl AppClientType {
2134    /// String value of the enum field names used in the ProtoBuf definition.
2135    ///
2136    /// The values are not transformed in any way and thus are considered stable
2137    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2138    pub fn as_str_name(&self) -> &'static str {
2139        match self {
2140            Self::NotUsed => "NOT_USED",
2141            Self::General => "GENERAL",
2142            Self::DiscoveryAndRotationController => "DISCOVERY_AND_ROTATION_CONTROLLER",
2143            Self::KcmController => "KCM_CONTROLLER",
2144            Self::SelfDestruct => "SELF_DESTRUCT",
2145        }
2146    }
2147    /// Creates an enum from field names used in the ProtoBuf definition.
2148    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2149        match value {
2150            "NOT_USED" => Some(Self::NotUsed),
2151            "GENERAL" => Some(Self::General),
2152            "DISCOVERY_AND_ROTATION_CONTROLLER" => Some(Self::DiscoveryAndRotationController),
2153            "KCM_CONTROLLER" => Some(Self::KcmController),
2154            "SELF_DESTRUCT" => Some(Self::SelfDestruct),
2155            _ => None,
2156        }
2157    }
2158}
2159#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2160#[repr(i32)]
2161pub enum DeleteEnterpriseUsersResult {
2162    Success = 0,
2163    NotAnEnterpriseUser = 1,
2164    CannotDeleteSelf = 2,
2165    BridgeCannotDeleteActiveUser = 3,
2166    Error = 4,
2167}
2168impl DeleteEnterpriseUsersResult {
2169    /// String value of the enum field names used in the ProtoBuf definition.
2170    ///
2171    /// The values are not transformed in any way and thus are considered stable
2172    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2173    pub fn as_str_name(&self) -> &'static str {
2174        match self {
2175            Self::Success => "SUCCESS",
2176            Self::NotAnEnterpriseUser => "NOT_AN_ENTERPRISE_USER",
2177            Self::CannotDeleteSelf => "CANNOT_DELETE_SELF",
2178            Self::BridgeCannotDeleteActiveUser => "BRIDGE_CANNOT_DELETE_ACTIVE_USER",
2179            Self::Error => "ERROR",
2180        }
2181    }
2182    /// Creates an enum from field names used in the ProtoBuf definition.
2183    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2184        match value {
2185            "SUCCESS" => Some(Self::Success),
2186            "NOT_AN_ENTERPRISE_USER" => Some(Self::NotAnEnterpriseUser),
2187            "CANNOT_DELETE_SELF" => Some(Self::CannotDeleteSelf),
2188            "BRIDGE_CANNOT_DELETE_ACTIVE_USER" => Some(Self::BridgeCannotDeleteActiveUser),
2189            "ERROR" => Some(Self::Error),
2190            _ => None,
2191        }
2192    }
2193}
2194#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2195#[repr(i32)]
2196pub enum ClearSecurityDataType {
2197    RecalculateSummaryReport = 0,
2198    ForceClientCheckForMissingData = 1,
2199    ForceClientResendSecurityData = 2,
2200}
2201impl ClearSecurityDataType {
2202    /// String value of the enum field names used in the ProtoBuf definition.
2203    ///
2204    /// The values are not transformed in any way and thus are considered stable
2205    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2206    pub fn as_str_name(&self) -> &'static str {
2207        match self {
2208            Self::RecalculateSummaryReport => "RECALCULATE_SUMMARY_REPORT",
2209            Self::ForceClientCheckForMissingData => "FORCE_CLIENT_CHECK_FOR_MISSING_DATA",
2210            Self::ForceClientResendSecurityData => "FORCE_CLIENT_RESEND_SECURITY_DATA",
2211        }
2212    }
2213    /// Creates an enum from field names used in the ProtoBuf definition.
2214    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2215        match value {
2216            "RECALCULATE_SUMMARY_REPORT" => Some(Self::RecalculateSummaryReport),
2217            "FORCE_CLIENT_CHECK_FOR_MISSING_DATA" => Some(Self::ForceClientCheckForMissingData),
2218            "FORCE_CLIENT_RESEND_SECURITY_DATA" => Some(Self::ForceClientResendSecurityData),
2219            _ => None,
2220        }
2221    }
2222}