1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct ApiRequest {
4 #[prost(bytes = "vec", tag = "1")]
5 pub encrypted_transmission_key: ::prost::alloc::vec::Vec<u8>,
6 #[prost(int32, tag = "2")]
7 pub public_key_id: i32,
8 #[prost(string, tag = "3")]
9 pub locale: ::prost::alloc::string::String,
10 #[prost(bytes = "vec", tag = "4")]
11 pub encrypted_payload: ::prost::alloc::vec::Vec<u8>,
12 #[prost(int32, tag = "5")]
13 pub encryption_type: i32,
14 #[prost(string, tag = "6")]
15 pub recaptcha: ::prost::alloc::string::String,
16 #[prost(string, tag = "7")]
17 pub sub_environment: ::prost::alloc::string::String,
18}
19#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
20pub struct ApiRequestPayload {
21 #[prost(bytes = "vec", tag = "1")]
22 pub payload: ::prost::alloc::vec::Vec<u8>,
23 #[prost(bytes = "vec", tag = "2")]
24 pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
25 #[prost(bytes = "vec", tag = "3")]
26 pub time_token: ::prost::alloc::vec::Vec<u8>,
27 #[prost(int32, tag = "4")]
28 pub api_version: i32,
29}
30#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
31pub struct Transform {
32 #[prost(bytes = "vec", tag = "1")]
33 pub key: ::prost::alloc::vec::Vec<u8>,
34 #[prost(bytes = "vec", tag = "2")]
35 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
36}
37#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
38pub struct DeviceRequest {
39 #[prost(string, tag = "1")]
40 pub client_version: ::prost::alloc::string::String,
41 #[prost(string, tag = "2")]
42 pub device_name: ::prost::alloc::string::String,
43 #[prost(string, tag = "3")]
44 pub device_platform: ::prost::alloc::string::String,
45 #[prost(enumeration = "ClientFormFactor", tag = "4")]
46 pub client_form_factor: i32,
47 #[prost(string, tag = "5")]
48 pub username: ::prost::alloc::string::String,
49}
50#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
51pub struct AuthRequest {
52 #[prost(string, tag = "1")]
53 pub client_version: ::prost::alloc::string::String,
54 #[prost(string, tag = "2")]
55 pub username: ::prost::alloc::string::String,
56 #[prost(bytes = "vec", tag = "3")]
57 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
58}
59#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
60pub struct NewUserMinimumParams {
61 #[prost(int32, tag = "1")]
62 pub minimum_iterations: i32,
63 #[prost(string, repeated, tag = "2")]
64 pub password_match_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
65 #[prost(string, repeated, tag = "3")]
66 pub password_match_description: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
67 #[prost(bool, tag = "4")]
68 pub is_enterprise_domain: bool,
69 #[prost(bytes = "vec", tag = "5")]
70 pub enterprise_ecc_public_key: ::prost::alloc::vec::Vec<u8>,
71 #[prost(bool, tag = "6")]
72 pub forbid_key_type2: bool,
73}
74#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
75pub struct PreLoginRequest {
76 #[prost(message, optional, tag = "1")]
77 pub auth_request: ::core::option::Option<AuthRequest>,
78 #[prost(enumeration = "LoginType", tag = "2")]
79 pub login_type: i32,
80 #[prost(bytes = "vec", tag = "3")]
81 pub two_factor_token: ::prost::alloc::vec::Vec<u8>,
82}
83#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
84pub struct LoginRequest {
85 #[prost(message, optional, tag = "1")]
86 pub auth_request: ::core::option::Option<AuthRequest>,
87 #[prost(enumeration = "LoginType", tag = "2")]
88 pub login_type: i32,
89 #[prost(bytes = "vec", tag = "3")]
90 pub authentication_hash_prime: ::prost::alloc::vec::Vec<u8>,
91 #[prost(bytes = "vec", tag = "4")]
92 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
93 #[prost(bytes = "vec", tag = "5")]
94 pub auth_response: ::prost::alloc::vec::Vec<u8>,
95 #[prost(int32, tag = "6")]
96 pub mc_enterprise_id: i32,
97 #[prost(string, tag = "7")]
98 pub push_token: ::prost::alloc::string::String,
99 #[prost(string, tag = "8")]
100 pub platform: ::prost::alloc::string::String,
101}
102#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
103pub struct DeviceResponse {
104 #[prost(bytes = "vec", tag = "1")]
105 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
106 #[prost(enumeration = "DeviceStatus", tag = "2")]
107 pub status: i32,
108}
109#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
110pub struct Salt {
111 #[prost(int32, tag = "1")]
112 pub iterations: i32,
113 #[prost(bytes = "vec", tag = "2")]
114 pub salt: ::prost::alloc::vec::Vec<u8>,
115 #[prost(int32, tag = "3")]
116 pub algorithm: i32,
117 #[prost(bytes = "vec", tag = "4")]
118 pub uid: ::prost::alloc::vec::Vec<u8>,
119 #[prost(string, tag = "5")]
120 pub name: ::prost::alloc::string::String,
121}
122#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
123pub struct TwoFactorChannel {
124 #[prost(int32, tag = "1")]
125 pub r#type: i32,
126}
127#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
128pub struct StartLoginRequest {
129 #[prost(bytes = "vec", tag = "1")]
130 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
131 #[prost(string, tag = "2")]
132 pub username: ::prost::alloc::string::String,
133 #[prost(string, tag = "3")]
134 pub client_version: ::prost::alloc::string::String,
135 #[prost(bytes = "vec", tag = "4")]
136 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
137 #[prost(bytes = "vec", tag = "5")]
138 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
139 #[prost(enumeration = "LoginType", tag = "6")]
140 pub login_type: i32,
141 #[prost(int32, tag = "7")]
142 pub mc_enterprise_id: i32,
143 #[prost(enumeration = "LoginMethod", tag = "8")]
144 pub login_method: i32,
145 #[prost(bool, tag = "9")]
146 pub force_new_login: bool,
147 #[prost(bytes = "vec", tag = "10")]
148 pub clone_code: ::prost::alloc::vec::Vec<u8>,
149 #[prost(string, tag = "11")]
150 pub v2_two_factor_token: ::prost::alloc::string::String,
151 #[prost(bytes = "vec", tag = "12")]
152 pub account_uid: ::prost::alloc::vec::Vec<u8>,
153 #[prost(bytes = "vec", tag = "13")]
154 pub from_session_token: ::prost::alloc::vec::Vec<u8>,
155}
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct LoginResponse {
158 #[prost(enumeration = "LoginState", tag = "1")]
159 pub login_state: i32,
160 #[prost(bytes = "vec", tag = "2")]
161 pub account_uid: ::prost::alloc::vec::Vec<u8>,
162 #[prost(string, tag = "3")]
163 pub primary_username: ::prost::alloc::string::String,
164 #[prost(bytes = "vec", tag = "4")]
165 pub encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
166 #[prost(enumeration = "EncryptedDataKeyType", tag = "5")]
167 pub encrypted_data_key_type: i32,
168 #[prost(bytes = "vec", tag = "6")]
169 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
170 #[prost(bytes = "vec", tag = "7")]
171 pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
172 #[prost(enumeration = "SessionTokenType", tag = "8")]
173 pub session_token_type: i32,
174 #[prost(string, tag = "9")]
175 pub message: ::prost::alloc::string::String,
176 #[prost(string, tag = "10")]
177 pub url: ::prost::alloc::string::String,
178 #[prost(message, repeated, tag = "11")]
179 pub channels: ::prost::alloc::vec::Vec<TwoFactorChannelInfo>,
180 #[prost(message, repeated, tag = "12")]
181 pub salt: ::prost::alloc::vec::Vec<Salt>,
182 #[prost(bytes = "vec", tag = "13")]
183 pub clone_code: ::prost::alloc::vec::Vec<u8>,
184 #[prost(string, tag = "14")]
185 pub state_specific_value: ::prost::alloc::string::String,
186 #[prost(string, tag = "15")]
187 pub sso_client_version: ::prost::alloc::string::String,
188 #[prost(string, tag = "16")]
189 pub session_token_type_modifier: ::prost::alloc::string::String,
190}
191#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
192pub struct SwitchListElement {
193 #[prost(string, tag = "1")]
194 pub username: ::prost::alloc::string::String,
195 #[prost(string, tag = "2")]
196 pub full_name: ::prost::alloc::string::String,
197 #[prost(bool, tag = "3")]
198 pub auth_required: bool,
199 #[prost(bool, tag = "4")]
200 pub is_linked: bool,
201}
202#[derive(Clone, PartialEq, ::prost::Message)]
203pub struct SwitchListResponse {
204 #[prost(message, repeated, tag = "1")]
205 pub elements: ::prost::alloc::vec::Vec<SwitchListElement>,
206}
207#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
208pub struct SsoUserInfo {
209 #[prost(string, tag = "1")]
210 pub company_name: ::prost::alloc::string::String,
211 #[prost(string, tag = "2")]
212 pub saml_request: ::prost::alloc::string::String,
213 #[prost(string, tag = "3")]
214 pub saml_request_type: ::prost::alloc::string::String,
215 #[prost(string, tag = "4")]
216 pub sso_domain_name: ::prost::alloc::string::String,
217 #[prost(string, tag = "5")]
218 pub login_url: ::prost::alloc::string::String,
219 #[prost(string, tag = "6")]
220 pub logout_url: ::prost::alloc::string::String,
221}
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct PreLoginResponse {
224 #[prost(enumeration = "DeviceStatus", tag = "1")]
225 pub device_status: i32,
226 #[prost(message, repeated, tag = "2")]
227 pub salt: ::prost::alloc::vec::Vec<Salt>,
228 #[prost(message, repeated, tag = "3")]
229 pub obsolete_field: ::prost::alloc::vec::Vec<TwoFactorChannel>,
230 #[prost(message, optional, tag = "4")]
231 pub sso_user_info: ::core::option::Option<SsoUserInfo>,
232}
233#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
234pub struct LoginAsUserRequest {
235 #[prost(string, tag = "1")]
236 pub username: ::prost::alloc::string::String,
237}
238#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
239pub struct LoginAsUserResponse {
240 #[prost(bytes = "vec", tag = "1")]
241 pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
242 #[prost(bytes = "vec", tag = "2")]
243 pub encrypted_shared_account_key: ::prost::alloc::vec::Vec<u8>,
244}
245#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
246pub struct ValidateAuthHashRequest {
247 #[prost(enumeration = "PasswordMethod", tag = "1")]
248 pub password_method: i32,
249 #[prost(bytes = "vec", tag = "2")]
250 pub auth_response: ::prost::alloc::vec::Vec<u8>,
251 #[prost(bytes = "vec", tag = "3")]
252 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
253}
254#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
255pub struct TwoFactorChannelInfo {
256 #[prost(enumeration = "TwoFactorChannelType", tag = "1")]
257 pub channel_type: i32,
258 #[prost(bytes = "vec", tag = "2")]
259 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
260 #[prost(string, tag = "3")]
261 pub channel_name: ::prost::alloc::string::String,
262 #[prost(string, tag = "4")]
263 pub challenge: ::prost::alloc::string::String,
264 #[prost(string, repeated, tag = "5")]
265 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
266 #[prost(string, tag = "6")]
267 pub phone_number: ::prost::alloc::string::String,
268 #[prost(enumeration = "TwoFactorExpiration", tag = "7")]
269 pub max_expiration: i32,
270 #[prost(int64, tag = "8")]
271 pub created_on: i64,
272 #[prost(enumeration = "TwoFactorExpiration", tag = "9")]
273 pub last_frequency: i32,
274}
275#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
276pub struct TwoFactorDuoStatus {
277 #[prost(string, repeated, tag = "1")]
278 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
279 #[prost(string, tag = "2")]
280 pub phone_number: ::prost::alloc::string::String,
281 #[prost(string, tag = "3")]
282 pub enroll_url: ::prost::alloc::string::String,
283 #[prost(string, tag = "4")]
284 pub message: ::prost::alloc::string::String,
285}
286#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
287pub struct TwoFactorAddRequest {
288 #[prost(enumeration = "TwoFactorChannelType", tag = "1")]
289 pub channel_type: i32,
290 #[prost(bytes = "vec", tag = "2")]
291 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
292 #[prost(string, tag = "3")]
293 pub channel_name: ::prost::alloc::string::String,
294 #[prost(string, tag = "4")]
295 pub phone_number: ::prost::alloc::string::String,
296 #[prost(enumeration = "TwoFactorPushType", tag = "5")]
297 pub duo_push_type: i32,
298}
299#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
300pub struct TwoFactorRenameRequest {
301 #[prost(bytes = "vec", tag = "1")]
302 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
303 #[prost(string, tag = "2")]
304 pub channel_name: ::prost::alloc::string::String,
305}
306#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
307pub struct TwoFactorAddResponse {
308 #[prost(string, tag = "1")]
309 pub challenge: ::prost::alloc::string::String,
310 #[prost(string, repeated, tag = "2")]
311 pub backup_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
312}
313#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
314pub struct TwoFactorDeleteRequest {
315 #[prost(bytes = "vec", tag = "1")]
316 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
317}
318#[derive(Clone, PartialEq, ::prost::Message)]
319pub struct TwoFactorListResponse {
320 #[prost(message, repeated, tag = "1")]
321 pub channels: ::prost::alloc::vec::Vec<TwoFactorChannelInfo>,
322 #[prost(int64, tag = "2")]
323 pub expire_on: i64,
324}
325#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
326pub struct TwoFactorUpdateExpirationRequest {
327 #[prost(enumeration = "TwoFactorExpiration", tag = "1")]
328 pub expire_in: i32,
329}
330#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
331pub struct TwoFactorValidateRequest {
332 #[prost(bytes = "vec", tag = "1")]
333 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
334 #[prost(enumeration = "TwoFactorValueType", tag = "2")]
335 pub value_type: i32,
336 #[prost(string, tag = "3")]
337 pub value: ::prost::alloc::string::String,
338 #[prost(bytes = "vec", tag = "4")]
339 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
340 #[prost(enumeration = "TwoFactorExpiration", tag = "5")]
341 pub expire_in: i32,
342}
343#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
344pub struct TwoFactorValidateResponse {
345 #[prost(bytes = "vec", tag = "1")]
346 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
347}
348#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
349pub struct TwoFactorSendPushRequest {
350 #[prost(bytes = "vec", tag = "1")]
351 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
352 #[prost(enumeration = "TwoFactorPushType", tag = "2")]
353 pub push_type: i32,
354 #[prost(bytes = "vec", tag = "3")]
355 pub channel_uid: ::prost::alloc::vec::Vec<u8>,
356 #[prost(enumeration = "TwoFactorExpiration", tag = "4")]
357 pub expire_in: i32,
358}
359#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
360pub struct License {
361 #[prost(int64, tag = "1")]
362 pub created: i64,
363 #[prost(int64, tag = "2")]
364 pub expiration: i64,
365 #[prost(enumeration = "LicenseStatus", tag = "3")]
366 pub license_status: i32,
367 #[prost(bool, tag = "4")]
368 pub paid: bool,
369 #[prost(string, tag = "5")]
370 pub message: ::prost::alloc::string::String,
371}
372#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
373pub struct OwnerlessRecord {
374 #[prost(bytes = "vec", tag = "1")]
375 pub record_uid: ::prost::alloc::vec::Vec<u8>,
376 #[prost(bytes = "vec", tag = "2")]
377 pub record_key: ::prost::alloc::vec::Vec<u8>,
378 #[prost(int32, tag = "3")]
379 pub status: i32,
380}
381#[derive(Clone, PartialEq, ::prost::Message)]
382pub struct OwnerlessRecords {
383 #[prost(message, repeated, tag = "1")]
384 pub ownerless_record: ::prost::alloc::vec::Vec<OwnerlessRecord>,
385}
386#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
387pub struct UserAuthRequest {
388 #[prost(bytes = "vec", tag = "1")]
389 pub uid: ::prost::alloc::vec::Vec<u8>,
390 #[prost(bytes = "vec", tag = "2")]
391 pub salt: ::prost::alloc::vec::Vec<u8>,
392 #[prost(int32, tag = "3")]
393 pub iterations: i32,
394 #[prost(bytes = "vec", tag = "4")]
395 pub encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
396 #[prost(bytes = "vec", tag = "5")]
397 pub auth_hash: ::prost::alloc::vec::Vec<u8>,
398 #[prost(bytes = "vec", tag = "6")]
399 pub encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
400 #[prost(enumeration = "LoginType", tag = "7")]
401 pub login_type: i32,
402 #[prost(string, tag = "8")]
403 pub name: ::prost::alloc::string::String,
404 #[prost(int32, tag = "9")]
405 pub algorithm: i32,
406}
407#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
408pub struct UidRequest {
409 #[prost(bytes = "vec", repeated, tag = "1")]
410 pub uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
411}
412#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
413pub struct DeviceUpdateRequest {
414 #[prost(bytes = "vec", tag = "1")]
415 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
416 #[prost(string, tag = "2")]
417 pub client_version: ::prost::alloc::string::String,
418 #[prost(string, tag = "3")]
419 pub device_name: ::prost::alloc::string::String,
420 #[prost(bytes = "vec", tag = "4")]
421 pub device_public_key: ::prost::alloc::vec::Vec<u8>,
422 #[prost(enumeration = "DeviceStatus", tag = "5")]
423 pub device_status: i32,
424 #[prost(string, tag = "6")]
425 pub device_platform: ::prost::alloc::string::String,
426 #[prost(enumeration = "ClientFormFactor", tag = "7")]
427 pub client_form_factor: i32,
428}
429#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
430pub struct DeviceUpdateResponse {
431 #[prost(bytes = "vec", tag = "1")]
432 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
433 #[prost(string, tag = "2")]
434 pub client_version: ::prost::alloc::string::String,
435 #[prost(string, tag = "3")]
436 pub device_name: ::prost::alloc::string::String,
437 #[prost(bytes = "vec", tag = "4")]
438 pub device_public_key: ::prost::alloc::vec::Vec<u8>,
439 #[prost(enumeration = "DeviceStatus", tag = "5")]
440 pub device_status: i32,
441 #[prost(string, tag = "6")]
442 pub device_platform: ::prost::alloc::string::String,
443 #[prost(enumeration = "ClientFormFactor", tag = "7")]
444 pub client_form_factor: i32,
445}
446#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
447pub struct RegisterDeviceInRegionRequest {
448 #[prost(bytes = "vec", tag = "1")]
449 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
450 #[prost(string, tag = "2")]
451 pub client_version: ::prost::alloc::string::String,
452 #[prost(string, tag = "3")]
453 pub device_name: ::prost::alloc::string::String,
454 #[prost(bytes = "vec", tag = "4")]
455 pub device_public_key: ::prost::alloc::vec::Vec<u8>,
456 #[prost(string, tag = "5")]
457 pub device_platform: ::prost::alloc::string::String,
458 #[prost(enumeration = "ClientFormFactor", tag = "6")]
459 pub client_form_factor: i32,
460}
461#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
462pub struct RegistrationRequest {
463 #[prost(message, optional, tag = "1")]
464 pub auth_request: ::core::option::Option<AuthRequest>,
465 #[prost(message, optional, tag = "2")]
466 pub user_auth_request: ::core::option::Option<UserAuthRequest>,
467 #[prost(bytes = "vec", tag = "3")]
468 pub encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
469 #[prost(bytes = "vec", tag = "4")]
470 pub encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
471 #[prost(bytes = "vec", tag = "5")]
472 pub public_key: ::prost::alloc::vec::Vec<u8>,
473 #[prost(string, tag = "6")]
474 pub verification_code: ::prost::alloc::string::String,
475 #[prost(bytes = "vec", tag = "7")]
476 pub deprecated_auth_hash_hash: ::prost::alloc::vec::Vec<u8>,
477 #[prost(bytes = "vec", tag = "8")]
478 pub deprecated_encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
479 #[prost(bytes = "vec", tag = "9")]
480 pub deprecated_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
481 #[prost(bytes = "vec", tag = "10")]
482 pub deprecated_encryption_params: ::prost::alloc::vec::Vec<u8>,
483}
484#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
485pub struct ConvertUserToV3Request {
486 #[prost(message, optional, tag = "1")]
487 pub auth_request: ::core::option::Option<AuthRequest>,
488 #[prost(message, optional, tag = "2")]
489 pub user_auth_request: ::core::option::Option<UserAuthRequest>,
490 #[prost(bytes = "vec", tag = "3")]
491 pub encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
492 #[prost(bytes = "vec", tag = "4")]
493 pub encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
494 #[prost(bytes = "vec", tag = "5")]
495 pub public_key: ::prost::alloc::vec::Vec<u8>,
496}
497#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
498pub struct RevisionResponse {
499 #[prost(int64, tag = "1")]
500 pub revision: i64,
501}
502#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
503pub struct ChangeEmailRequest {
504 #[prost(string, tag = "1")]
505 pub new_email: ::prost::alloc::string::String,
506}
507#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
508pub struct ChangeEmailResponse {
509 #[prost(bytes = "vec", tag = "1")]
510 pub encrypted_change_email_token: ::prost::alloc::vec::Vec<u8>,
511}
512#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
513pub struct EmailVerificationLinkResponse {
514 #[prost(bool, tag = "1")]
515 pub email_verified: bool,
516}
517#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
518pub struct SecurityData {
519 #[prost(bytes = "vec", tag = "1")]
520 pub uid: ::prost::alloc::vec::Vec<u8>,
521 #[prost(bytes = "vec", tag = "2")]
522 pub data: ::prost::alloc::vec::Vec<u8>,
523}
524#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
525pub struct SecurityScoreData {
526 #[prost(bytes = "vec", tag = "1")]
527 pub uid: ::prost::alloc::vec::Vec<u8>,
528 #[prost(bytes = "vec", tag = "2")]
529 pub data: ::prost::alloc::vec::Vec<u8>,
530 #[prost(int64, tag = "3")]
531 pub revision: i64,
532}
533#[derive(Clone, PartialEq, ::prost::Message)]
534pub struct SecurityDataRequest {
535 #[prost(message, repeated, tag = "1")]
536 pub record_security_data: ::prost::alloc::vec::Vec<SecurityData>,
537 #[prost(message, repeated, tag = "2")]
538 pub master_password_security_data: ::prost::alloc::vec::Vec<SecurityData>,
539 #[prost(enumeration = "super::enterprise::EncryptedKeyType", tag = "3")]
540 pub encryption_type: i32,
541 #[prost(message, repeated, tag = "4")]
542 pub record_security_score_data: ::prost::alloc::vec::Vec<SecurityScoreData>,
543}
544#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
545pub struct SecurityReportIncrementalData {
546 #[prost(int64, tag = "1")]
547 pub enterprise_user_id: i64,
548 #[prost(bytes = "vec", tag = "2")]
549 pub current_security_data: ::prost::alloc::vec::Vec<u8>,
550 #[prost(int64, tag = "3")]
551 pub current_security_data_revision: i64,
552 #[prost(bytes = "vec", tag = "4")]
553 pub old_security_data: ::prost::alloc::vec::Vec<u8>,
554 #[prost(int64, tag = "5")]
555 pub old_security_data_revision: i64,
556 #[prost(enumeration = "super::enterprise::EncryptedKeyType", tag = "6")]
557 pub current_data_encryption_type: i32,
558 #[prost(enumeration = "super::enterprise::EncryptedKeyType", tag = "7")]
559 pub old_data_encryption_type: i32,
560 #[prost(bytes = "vec", tag = "8")]
561 pub record_uid: ::prost::alloc::vec::Vec<u8>,
562}
563#[derive(Clone, PartialEq, ::prost::Message)]
564pub struct SecurityReport {
565 #[prost(int64, tag = "1")]
566 pub enterprise_user_id: i64,
567 #[prost(bytes = "vec", tag = "2")]
568 pub encrypted_report_data: ::prost::alloc::vec::Vec<u8>,
569 #[prost(int64, tag = "3")]
570 pub revision: i64,
571 #[prost(string, tag = "4")]
572 pub two_factor: ::prost::alloc::string::String,
573 #[prost(int64, tag = "5")]
574 pub last_login: i64,
575 #[prost(int32, tag = "6")]
576 pub number_of_reused_password: i32,
577 #[prost(message, repeated, tag = "7")]
578 pub security_report_incremental_data: ::prost::alloc::vec::Vec<SecurityReportIncrementalData>,
579 #[prost(int32, tag = "8")]
580 pub user_id: i32,
581 #[prost(bool, tag = "9")]
582 pub has_old_encryption: bool,
583}
584#[derive(Clone, PartialEq, ::prost::Message)]
585pub struct SecurityReportSaveRequest {
586 #[prost(message, repeated, tag = "1")]
587 pub security_report: ::prost::alloc::vec::Vec<SecurityReport>,
588 #[prost(bytes = "vec", tag = "2")]
589 pub continuation_token: ::prost::alloc::vec::Vec<u8>,
590}
591#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
592pub struct SecurityReportRequest {
593 #[prost(int64, tag = "1")]
594 pub from_page: i64,
595}
596#[derive(Clone, PartialEq, ::prost::Message)]
597pub struct SecurityReportResponse {
598 #[prost(bytes = "vec", tag = "1")]
599 pub enterprise_private_key: ::prost::alloc::vec::Vec<u8>,
600 #[prost(message, repeated, tag = "2")]
601 pub security_report: ::prost::alloc::vec::Vec<SecurityReport>,
602 #[prost(int64, tag = "3")]
603 pub as_of_revision: i64,
604 #[prost(int64, tag = "4")]
605 pub from_page: i64,
606 #[prost(int64, tag = "5")]
607 pub to_page: i64,
608 #[prost(bool, tag = "6")]
609 pub complete: bool,
610 #[prost(bytes = "vec", tag = "7")]
611 pub enterprise_ecc_private_key: ::prost::alloc::vec::Vec<u8>,
612 #[prost(bool, tag = "8")]
613 pub has_incremental_data: bool,
614}
615#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
616pub struct IncrementalSecurityDataRequest {
617 #[prost(bytes = "vec", tag = "1")]
618 pub continuation_token: ::prost::alloc::vec::Vec<u8>,
619}
620#[derive(Clone, PartialEq, ::prost::Message)]
621pub struct IncrementalSecurityDataResponse {
622 #[prost(message, repeated, tag = "1")]
623 pub security_report_incremental_data: ::prost::alloc::vec::Vec<SecurityReportIncrementalData>,
624 #[prost(bytes = "vec", tag = "2")]
625 pub continuation_token: ::prost::alloc::vec::Vec<u8>,
626}
627#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
628pub struct ReusedPasswordsRequest {
629 #[prost(int32, tag = "1")]
630 pub count: i32,
631}
632#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
633pub struct SummaryConsoleReport {
634 #[prost(int32, tag = "1")]
635 pub report_type: i32,
636 #[prost(bytes = "vec", tag = "2")]
637 pub report_data: ::prost::alloc::vec::Vec<u8>,
638}
639#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
640pub struct ChangeToKeyTypeOne {
641 #[prost(enumeration = "ObjectTypes", tag = "1")]
642 pub object_type: i32,
643 #[prost(bytes = "vec", tag = "2")]
644 pub primary_uid: ::prost::alloc::vec::Vec<u8>,
645 #[prost(bytes = "vec", tag = "3")]
646 pub secondary_uid: ::prost::alloc::vec::Vec<u8>,
647 #[prost(bytes = "vec", tag = "4")]
648 pub key: ::prost::alloc::vec::Vec<u8>,
649}
650#[derive(Clone, PartialEq, ::prost::Message)]
651pub struct ChangeToKeyTypeOneRequest {
652 #[prost(message, repeated, tag = "1")]
653 pub change_to_key_type_one: ::prost::alloc::vec::Vec<ChangeToKeyTypeOne>,
654}
655#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
656pub struct ChangeToKeyTypeOneStatus {
657 #[prost(bytes = "vec", tag = "1")]
658 pub uid: ::prost::alloc::vec::Vec<u8>,
659 #[prost(string, tag = "2")]
660 pub r#type: ::prost::alloc::string::String,
661 #[prost(string, tag = "3")]
662 pub status: ::prost::alloc::string::String,
663 #[prost(string, tag = "4")]
664 pub reason: ::prost::alloc::string::String,
665}
666#[derive(Clone, PartialEq, ::prost::Message)]
667pub struct ChangeToKeyTypeOneResponse {
668 #[prost(message, repeated, tag = "1")]
669 pub change_to_key_type_one_status: ::prost::alloc::vec::Vec<ChangeToKeyTypeOneStatus>,
670}
671#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
672pub struct GetChangeKeyTypesRequest {
673 #[prost(enumeration = "EncryptedObjectType", repeated, tag = "1")]
674 pub only_these_objects: ::prost::alloc::vec::Vec<i32>,
675 #[prost(int32, tag = "2")]
676 pub limit: i32,
677 #[prost(bool, tag = "3")]
678 pub include_recommended: bool,
679 #[prost(bool, tag = "4")]
680 pub include_keys: bool,
681 #[prost(bool, tag = "5")]
682 pub include_allowed_key_types: bool,
683}
684#[derive(Clone, PartialEq, ::prost::Message)]
685pub struct GetChangeKeyTypesResponse {
686 #[prost(message, repeated, tag = "1")]
687 pub keys: ::prost::alloc::vec::Vec<ChangeKeyType>,
688 #[prost(message, repeated, tag = "2")]
689 pub allowed_key_types: ::prost::alloc::vec::Vec<AllowedKeyTypes>,
690}
691#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
692pub struct AllowedKeyTypes {
693 #[prost(enumeration = "EncryptedObjectType", tag = "1")]
694 pub object_type: i32,
695 #[prost(
696 enumeration = "super::enterprise::EncryptedKeyType",
697 repeated,
698 tag = "2"
699 )]
700 pub allowed_key_types: ::prost::alloc::vec::Vec<i32>,
701}
702#[derive(Clone, PartialEq, ::prost::Message)]
703pub struct ChangeKeyTypes {
704 #[prost(message, repeated, tag = "1")]
705 pub keys: ::prost::alloc::vec::Vec<ChangeKeyType>,
706}
707#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
708pub struct ChangeKeyType {
709 #[prost(enumeration = "EncryptedObjectType", tag = "1")]
710 pub object_type: i32,
711 #[prost(bytes = "vec", tag = "2")]
712 pub uid: ::prost::alloc::vec::Vec<u8>,
713 #[prost(bytes = "vec", tag = "3")]
714 pub secondary_uid: ::prost::alloc::vec::Vec<u8>,
715 #[prost(bytes = "vec", tag = "4")]
716 pub key: ::prost::alloc::vec::Vec<u8>,
717 #[prost(enumeration = "super::enterprise::EncryptedKeyType", tag = "5")]
718 pub key_type: i32,
719 #[prost(enumeration = "GenericStatus", tag = "6")]
720 pub status: i32,
721}
722#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
723pub struct SetKey {
724 #[prost(int64, tag = "1")]
725 pub id: i64,
726 #[prost(bytes = "vec", tag = "2")]
727 pub key: ::prost::alloc::vec::Vec<u8>,
728}
729#[derive(Clone, PartialEq, ::prost::Message)]
730pub struct SetKeyRequest {
731 #[prost(message, repeated, tag = "1")]
732 pub keys: ::prost::alloc::vec::Vec<SetKey>,
733}
734#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
735pub struct CreateUserRequest {
736 #[prost(string, tag = "1")]
737 pub username: ::prost::alloc::string::String,
738 #[prost(bytes = "vec", tag = "2")]
739 pub auth_verifier: ::prost::alloc::vec::Vec<u8>,
740 #[prost(bytes = "vec", tag = "3")]
741 pub encryption_params: ::prost::alloc::vec::Vec<u8>,
742 #[prost(bytes = "vec", tag = "4")]
743 pub rsa_public_key: ::prost::alloc::vec::Vec<u8>,
744 #[prost(bytes = "vec", tag = "5")]
745 pub rsa_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
746 #[prost(bytes = "vec", tag = "6")]
747 pub ecc_public_key: ::prost::alloc::vec::Vec<u8>,
748 #[prost(bytes = "vec", tag = "7")]
749 pub ecc_encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
750 #[prost(bytes = "vec", tag = "8")]
751 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
752 #[prost(bytes = "vec", tag = "9")]
753 pub encrypted_client_key: ::prost::alloc::vec::Vec<u8>,
754 #[prost(string, tag = "10")]
755 pub client_version: ::prost::alloc::string::String,
756 #[prost(bytes = "vec", tag = "11")]
757 pub encrypted_device_data_key: ::prost::alloc::vec::Vec<u8>,
758 #[prost(bytes = "vec", tag = "12")]
759 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
760 #[prost(bytes = "vec", tag = "13")]
761 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
762 #[prost(string, tag = "14")]
763 pub install_referrer: ::prost::alloc::string::String,
764 #[prost(int32, tag = "15")]
765 pub mcc_mnc: i32,
766 #[prost(string, tag = "16")]
767 pub mfg: ::prost::alloc::string::String,
768 #[prost(string, tag = "17")]
769 pub model: ::prost::alloc::string::String,
770 #[prost(string, tag = "18")]
771 pub brand: ::prost::alloc::string::String,
772 #[prost(string, tag = "19")]
773 pub product: ::prost::alloc::string::String,
774 #[prost(string, tag = "20")]
775 pub device: ::prost::alloc::string::String,
776 #[prost(string, tag = "21")]
777 pub carrier: ::prost::alloc::string::String,
778 #[prost(string, tag = "22")]
779 pub verification_code: ::prost::alloc::string::String,
780 #[prost(message, optional, tag = "23")]
781 pub enterprise_registration: ::core::option::Option<super::enterprise::EnterpriseRegistration>,
782 #[prost(bytes = "vec", tag = "24")]
783 pub encrypted_verification_token: ::prost::alloc::vec::Vec<u8>,
784 #[prost(bytes = "vec", tag = "25")]
785 pub enterprise_users_data_key: ::prost::alloc::vec::Vec<u8>,
786}
787#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
788pub struct NodeEnforcementAddOrUpdateRequest {
789 #[prost(int64, tag = "1")]
790 pub node_id: i64,
791 #[prost(string, tag = "2")]
792 pub enforcement: ::prost::alloc::string::String,
793 #[prost(string, tag = "3")]
794 pub value: ::prost::alloc::string::String,
795}
796#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
797pub struct NodeEnforcementRemoveRequest {
798 #[prost(int64, tag = "1")]
799 pub node_id: i64,
800 #[prost(string, tag = "2")]
801 pub enforcement: ::prost::alloc::string::String,
802}
803#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
804pub struct ApiRequestByKey {
805 #[prost(int32, tag = "1")]
806 pub key_id: i32,
807 #[prost(bytes = "vec", tag = "2")]
808 pub payload: ::prost::alloc::vec::Vec<u8>,
809 #[prost(string, tag = "3")]
810 pub username: ::prost::alloc::string::String,
811 #[prost(string, tag = "4")]
812 pub locale: ::prost::alloc::string::String,
813 #[prost(enumeration = "SupportedLanguage", tag = "5")]
814 pub supported_language: i32,
815 #[prost(int32, tag = "6")]
816 pub r#type: i32,
817}
818#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
819pub struct ApiRequestByKAtoKaKey {
820 #[prost(enumeration = "Region", tag = "1")]
821 pub source_region: i32,
822 #[prost(bytes = "vec", tag = "2")]
823 pub payload: ::prost::alloc::vec::Vec<u8>,
824 #[prost(enumeration = "SupportedLanguage", tag = "3")]
825 pub supported_language: i32,
826 #[prost(enumeration = "Region", tag = "4")]
827 pub destination_region: i32,
828}
829#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
830pub struct MemcacheRequest {
831 #[prost(string, tag = "1")]
832 pub key: ::prost::alloc::string::String,
833 #[prost(int32, tag = "2")]
834 pub user_id: i32,
835}
836#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
837pub struct MemcacheResponse {
838 #[prost(string, tag = "1")]
839 pub key: ::prost::alloc::string::String,
840 #[prost(string, tag = "2")]
841 pub value: ::prost::alloc::string::String,
842}
843#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
844pub struct MasterPasswordReentryRequest {
845 #[prost(string, tag = "1")]
846 pub pbkdf2_password: ::prost::alloc::string::String,
847 #[prost(enumeration = "MasterPasswordReentryActionType", tag = "2")]
848 pub action: i32,
849}
850#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
851pub struct MasterPasswordReentryResponse {
852 #[prost(enumeration = "MasterPasswordReentryStatus", tag = "1")]
853 pub status: i32,
854}
855#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
856pub struct DeviceRegistrationRequest {
857 #[prost(string, tag = "1")]
858 pub client_version: ::prost::alloc::string::String,
859 #[prost(string, tag = "2")]
860 pub device_name: ::prost::alloc::string::String,
861 #[prost(bytes = "vec", tag = "3")]
862 pub device_public_key: ::prost::alloc::vec::Vec<u8>,
863 #[prost(string, tag = "4")]
864 pub device_platform: ::prost::alloc::string::String,
865 #[prost(enumeration = "ClientFormFactor", tag = "5")]
866 pub client_form_factor: i32,
867}
868#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
869pub struct DeviceVerificationRequest {
870 #[prost(bytes = "vec", tag = "1")]
871 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
872 #[prost(string, tag = "2")]
873 pub username: ::prost::alloc::string::String,
874 #[prost(string, tag = "3")]
875 pub verification_channel: ::prost::alloc::string::String,
876 #[prost(bytes = "vec", tag = "4")]
877 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
878 #[prost(string, tag = "5")]
879 pub client_version: ::prost::alloc::string::String,
880}
881#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
882pub struct DeviceVerificationResponse {
883 #[prost(bytes = "vec", tag = "1")]
884 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
885 #[prost(string, tag = "2")]
886 pub username: ::prost::alloc::string::String,
887 #[prost(bytes = "vec", tag = "3")]
888 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
889 #[prost(string, tag = "4")]
890 pub client_version: ::prost::alloc::string::String,
891 #[prost(enumeration = "DeviceStatus", tag = "5")]
892 pub device_status: i32,
893}
894#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
895pub struct DeviceApprovalRequest {
896 #[prost(string, tag = "1")]
897 pub email: ::prost::alloc::string::String,
898 #[prost(string, tag = "2")]
899 pub two_factor_channel: ::prost::alloc::string::String,
900 #[prost(string, tag = "3")]
901 pub client_version: ::prost::alloc::string::String,
902 #[prost(string, tag = "4")]
903 pub locale: ::prost::alloc::string::String,
904 #[prost(bytes = "vec", tag = "5")]
905 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
906 #[prost(string, tag = "6")]
907 pub totp_code: ::prost::alloc::string::String,
908 #[prost(string, tag = "7")]
909 pub device_ip: ::prost::alloc::string::String,
910 #[prost(string, tag = "8")]
911 pub device_token_expire_days: ::prost::alloc::string::String,
912}
913#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
914pub struct DeviceApprovalResponse {
915 #[prost(bytes = "vec", tag = "1")]
916 pub encrypted_two_factor_token: ::prost::alloc::vec::Vec<u8>,
917}
918#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
919pub struct ApproveDeviceRequest {
920 #[prost(bytes = "vec", tag = "1")]
921 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
922 #[prost(bytes = "vec", tag = "2")]
923 pub encrypted_device_data_key: ::prost::alloc::vec::Vec<u8>,
924 #[prost(bool, tag = "3")]
925 pub deny_approval: bool,
926 #[prost(bool, tag = "4")]
927 pub link_device: bool,
928}
929#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
930pub struct EnterpriseUserAliasRequest {
931 #[prost(int64, tag = "1")]
932 pub enterprise_user_id: i64,
933 #[prost(string, tag = "2")]
934 pub alias: ::prost::alloc::string::String,
935}
936#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
937pub struct EnterpriseUserAddAliasRequest {
938 #[prost(int64, tag = "1")]
939 pub enterprise_user_id: i64,
940 #[prost(string, tag = "2")]
941 pub alias: ::prost::alloc::string::String,
942 #[prost(bool, tag = "3")]
943 pub primary: bool,
944}
945#[derive(Clone, PartialEq, ::prost::Message)]
946pub struct EnterpriseUserAddAliasRequestV2 {
947 #[prost(message, repeated, tag = "1")]
948 pub enterprise_user_add_alias_request: ::prost::alloc::vec::Vec<EnterpriseUserAddAliasRequest>,
949}
950#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
951pub struct EnterpriseUserAddAliasStatus {
952 #[prost(int64, tag = "1")]
953 pub enterprise_user_id: i64,
954 #[prost(string, tag = "2")]
955 pub status: ::prost::alloc::string::String,
956}
957#[derive(Clone, PartialEq, ::prost::Message)]
958pub struct EnterpriseUserAddAliasResponse {
959 #[prost(message, repeated, tag = "1")]
960 pub status: ::prost::alloc::vec::Vec<EnterpriseUserAddAliasStatus>,
961}
962#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
963pub struct Device {
964 #[prost(bytes = "vec", tag = "1")]
965 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
966}
967#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
968pub struct RegisterDeviceDataKeyRequest {
969 #[prost(bytes = "vec", tag = "1")]
970 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
971 #[prost(bytes = "vec", tag = "2")]
972 pub encrypted_device_data_key: ::prost::alloc::vec::Vec<u8>,
973}
974#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
975pub struct ValidateCreateUserVerificationCodeRequest {
976 #[prost(string, tag = "1")]
977 pub username: ::prost::alloc::string::String,
978 #[prost(string, tag = "2")]
979 pub client_version: ::prost::alloc::string::String,
980 #[prost(string, tag = "3")]
981 pub verification_code: ::prost::alloc::string::String,
982}
983#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
984pub struct ValidateDeviceVerificationCodeRequest {
985 #[prost(string, tag = "1")]
986 pub username: ::prost::alloc::string::String,
987 #[prost(string, tag = "2")]
988 pub client_version: ::prost::alloc::string::String,
989 #[prost(string, tag = "3")]
990 pub verification_code: ::prost::alloc::string::String,
991 #[prost(bytes = "vec", tag = "4")]
992 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
993 #[prost(bytes = "vec", tag = "5")]
994 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
995}
996#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
997pub struct SendSessionMessageRequest {
998 #[prost(bytes = "vec", tag = "1")]
999 pub message_session_uid: ::prost::alloc::vec::Vec<u8>,
1000 #[prost(string, tag = "2")]
1001 pub command: ::prost::alloc::string::String,
1002 #[prost(string, tag = "3")]
1003 pub username: ::prost::alloc::string::String,
1004}
1005#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1006pub struct GlobalUserAccount {
1007 #[prost(string, tag = "1")]
1008 pub username: ::prost::alloc::string::String,
1009 #[prost(bytes = "vec", tag = "2")]
1010 pub account_uid: ::prost::alloc::vec::Vec<u8>,
1011 #[prost(string, tag = "3")]
1012 pub region_name: ::prost::alloc::string::String,
1013}
1014#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1015pub struct AccountUsername {
1016 #[prost(string, tag = "1")]
1017 pub username: ::prost::alloc::string::String,
1018 #[prost(string, tag = "2")]
1019 pub date_active: ::prost::alloc::string::String,
1020}
1021#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1022pub struct SsoServiceProviderRequest {
1023 #[prost(string, tag = "1")]
1024 pub name: ::prost::alloc::string::String,
1025 #[prost(string, tag = "2")]
1026 pub client_version: ::prost::alloc::string::String,
1027 #[prost(string, tag = "3")]
1028 pub locale: ::prost::alloc::string::String,
1029}
1030#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1031pub struct SsoServiceProviderResponse {
1032 #[prost(string, tag = "1")]
1033 pub name: ::prost::alloc::string::String,
1034 #[prost(string, tag = "2")]
1035 pub sp_url: ::prost::alloc::string::String,
1036 #[prost(bool, tag = "3")]
1037 pub is_cloud: bool,
1038 #[prost(string, tag = "4")]
1039 pub client_version: ::prost::alloc::string::String,
1040}
1041#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1042pub struct UserSettingRequest {
1043 #[prost(string, tag = "1")]
1044 pub setting: ::prost::alloc::string::String,
1045 #[prost(string, tag = "2")]
1046 pub value: ::prost::alloc::string::String,
1047}
1048#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1049pub struct ThrottleState {
1050 #[prost(enumeration = "ThrottleType", tag = "1")]
1051 pub r#type: i32,
1052 #[prost(string, tag = "2")]
1053 pub key: ::prost::alloc::string::String,
1054 #[prost(string, tag = "3")]
1055 pub value: ::prost::alloc::string::String,
1056 #[prost(bool, tag = "4")]
1057 pub state: bool,
1058}
1059#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1060pub struct ThrottleState2 {
1061 #[prost(string, tag = "1")]
1062 pub key: ::prost::alloc::string::String,
1063 #[prost(string, tag = "2")]
1064 pub key_description: ::prost::alloc::string::String,
1065 #[prost(string, tag = "3")]
1066 pub value: ::prost::alloc::string::String,
1067 #[prost(string, tag = "4")]
1068 pub value_description: ::prost::alloc::string::String,
1069 #[prost(string, tag = "5")]
1070 pub identifier: ::prost::alloc::string::String,
1071 #[prost(bool, tag = "6")]
1072 pub locked: bool,
1073 #[prost(bool, tag = "7")]
1074 pub included_in_all_clear: bool,
1075 #[prost(int32, tag = "8")]
1076 pub expire_seconds: i32,
1077}
1078#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1079pub struct DeviceInformation {
1080 #[prost(int64, tag = "1")]
1081 pub device_id: i64,
1082 #[prost(string, tag = "2")]
1083 pub device_name: ::prost::alloc::string::String,
1084 #[prost(string, tag = "3")]
1085 pub client_version: ::prost::alloc::string::String,
1086 #[prost(int64, tag = "4")]
1087 pub last_login: i64,
1088 #[prost(enumeration = "DeviceStatus", tag = "5")]
1089 pub device_status: i32,
1090}
1091#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1092pub struct UserSetting {
1093 #[prost(string, tag = "1")]
1094 pub name: ::prost::alloc::string::String,
1095 #[prost(bool, tag = "2")]
1096 pub value: bool,
1097}
1098#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1099pub struct UserDataKeyRequest {
1100 #[prost(int64, repeated, tag = "1")]
1101 pub enterprise_user_id: ::prost::alloc::vec::Vec<i64>,
1102}
1103#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1104pub struct UserDataKeyByNodeRequest {
1105 #[prost(int64, repeated, tag = "1")]
1106 pub node_ids: ::prost::alloc::vec::Vec<i64>,
1107}
1108#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1109pub struct EnterpriseUserIdDataKeyPair {
1110 #[prost(int64, tag = "1")]
1111 pub enterprise_user_id: i64,
1112 #[prost(bytes = "vec", tag = "2")]
1113 pub encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
1114 #[prost(enumeration = "super::enterprise::EncryptedKeyType", tag = "3")]
1115 pub key_type: i32,
1116}
1117#[derive(Clone, PartialEq, ::prost::Message)]
1118pub struct UserDataKey {
1119 #[prost(int64, tag = "1")]
1120 pub role_id: i64,
1121 #[prost(bytes = "vec", tag = "2")]
1122 pub role_key: ::prost::alloc::vec::Vec<u8>,
1123 #[prost(string, tag = "3")]
1124 pub private_key: ::prost::alloc::string::String,
1125 #[prost(message, repeated, tag = "4")]
1126 pub enterprise_user_id_data_key_pairs: ::prost::alloc::vec::Vec<EnterpriseUserIdDataKeyPair>,
1127}
1128#[derive(Clone, PartialEq, ::prost::Message)]
1129pub struct UserDataKeyResponse {
1130 #[prost(message, repeated, tag = "1")]
1131 pub user_data_keys: ::prost::alloc::vec::Vec<UserDataKey>,
1132 #[prost(int64, repeated, tag = "2")]
1133 pub access_denied: ::prost::alloc::vec::Vec<i64>,
1134 #[prost(int64, repeated, tag = "3")]
1135 pub no_encrypted_data_key: ::prost::alloc::vec::Vec<i64>,
1136}
1137#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1138pub struct MasterPasswordRecoveryVerificationRequest {
1139 #[prost(bytes = "vec", tag = "1")]
1140 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
1141}
1142#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1143pub struct GetSecurityQuestionV3Request {
1144 #[prost(bytes = "vec", tag = "1")]
1145 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
1146 #[prost(string, tag = "2")]
1147 pub verification_code: ::prost::alloc::string::String,
1148}
1149#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1150pub struct GetSecurityQuestionV3Response {
1151 #[prost(string, tag = "1")]
1152 pub security_question: ::prost::alloc::string::String,
1153 #[prost(int64, tag = "2")]
1154 pub backup_key_date: i64,
1155 #[prost(bytes = "vec", tag = "3")]
1156 pub salt: ::prost::alloc::vec::Vec<u8>,
1157 #[prost(int32, tag = "4")]
1158 pub iterations: i32,
1159}
1160#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1161pub struct GetDataKeyBackupV3Request {
1162 #[prost(bytes = "vec", tag = "1")]
1163 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
1164 #[prost(string, tag = "2")]
1165 pub verification_code: ::prost::alloc::string::String,
1166 #[prost(bytes = "vec", tag = "3")]
1167 pub security_answer_hash: ::prost::alloc::vec::Vec<u8>,
1168}
1169#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1170pub struct PasswordRules {
1171 #[prost(string, tag = "1")]
1172 pub rule_type: ::prost::alloc::string::String,
1173 #[prost(bool, tag = "2")]
1174 pub r#match: bool,
1175 #[prost(string, tag = "3")]
1176 pub pattern: ::prost::alloc::string::String,
1177 #[prost(string, tag = "4")]
1178 pub description: ::prost::alloc::string::String,
1179 #[prost(int32, tag = "5")]
1180 pub minimum: i32,
1181 #[prost(string, tag = "6")]
1182 pub value: ::prost::alloc::string::String,
1183}
1184#[derive(Clone, PartialEq, ::prost::Message)]
1185pub struct GetDataKeyBackupV3Response {
1186 #[prost(bytes = "vec", tag = "1")]
1187 pub data_key_backup: ::prost::alloc::vec::Vec<u8>,
1188 #[prost(int64, tag = "2")]
1189 pub data_key_backup_date: i64,
1190 #[prost(bytes = "vec", tag = "3")]
1191 pub public_key: ::prost::alloc::vec::Vec<u8>,
1192 #[prost(bytes = "vec", tag = "4")]
1193 pub encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
1194 #[prost(bytes = "vec", tag = "5")]
1195 pub client_key: ::prost::alloc::vec::Vec<u8>,
1196 #[prost(bytes = "vec", tag = "6")]
1197 pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
1198 #[prost(message, repeated, tag = "7")]
1199 pub password_rules: ::prost::alloc::vec::Vec<PasswordRules>,
1200 #[prost(string, tag = "8")]
1201 pub password_rules_intro: ::prost::alloc::string::String,
1202 #[prost(int32, tag = "9")]
1203 pub minimum_pbkdf2_iterations: i32,
1204 #[prost(enumeration = "super::enterprise::KeyType", tag = "10")]
1205 pub key_type: i32,
1206}
1207#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1208pub struct GetPublicKeysRequest {
1209 #[prost(string, repeated, tag = "1")]
1210 pub usernames: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1211}
1212#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1213pub struct PublicKeyResponse {
1214 #[prost(string, tag = "1")]
1215 pub username: ::prost::alloc::string::String,
1216 #[prost(bytes = "vec", tag = "2")]
1217 pub public_key: ::prost::alloc::vec::Vec<u8>,
1218 #[prost(bytes = "vec", tag = "3")]
1219 pub public_ecc_key: ::prost::alloc::vec::Vec<u8>,
1220 #[prost(string, tag = "4")]
1221 pub message: ::prost::alloc::string::String,
1222 #[prost(string, tag = "5")]
1223 pub error_code: ::prost::alloc::string::String,
1224}
1225#[derive(Clone, PartialEq, ::prost::Message)]
1226pub struct GetPublicKeysResponse {
1227 #[prost(message, repeated, tag = "1")]
1228 pub key_responses: ::prost::alloc::vec::Vec<PublicKeyResponse>,
1229}
1230#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1231pub struct SetEccKeyPairRequest {
1232 #[prost(bytes = "vec", tag = "1")]
1233 pub public_key: ::prost::alloc::vec::Vec<u8>,
1234 #[prost(bytes = "vec", tag = "2")]
1235 pub encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
1236}
1237#[derive(Clone, PartialEq, ::prost::Message)]
1238pub struct SetEccKeyPairsRequest {
1239 #[prost(message, repeated, tag = "1")]
1240 pub team_keys: ::prost::alloc::vec::Vec<TeamEccKeyPair>,
1241}
1242#[derive(Clone, PartialEq, ::prost::Message)]
1243pub struct SetEccKeyPairsResponse {
1244 #[prost(message, repeated, tag = "1")]
1245 pub team_keys: ::prost::alloc::vec::Vec<TeamEccKeyPairResponse>,
1246}
1247#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1248pub struct TeamEccKeyPair {
1249 #[prost(bytes = "vec", tag = "1")]
1250 pub team_uid: ::prost::alloc::vec::Vec<u8>,
1251 #[prost(bytes = "vec", tag = "2")]
1252 pub public_key: ::prost::alloc::vec::Vec<u8>,
1253 #[prost(bytes = "vec", tag = "3")]
1254 pub encrypted_private_key: ::prost::alloc::vec::Vec<u8>,
1255}
1256#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1257pub struct TeamEccKeyPairResponse {
1258 #[prost(bytes = "vec", tag = "1")]
1259 pub team_uid: ::prost::alloc::vec::Vec<u8>,
1260 #[prost(enumeration = "GenericStatus", tag = "2")]
1261 pub status: i32,
1262}
1263#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1264pub struct GetKsmPublicKeysRequest {
1265 #[prost(bytes = "vec", repeated, tag = "1")]
1266 pub client_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1267 #[prost(bytes = "vec", repeated, tag = "2")]
1268 pub controller_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1269}
1270#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1271pub struct DevicePublicKeyResponse {
1272 #[prost(bytes = "vec", tag = "1")]
1273 pub client_id: ::prost::alloc::vec::Vec<u8>,
1274 #[prost(bytes = "vec", tag = "2")]
1275 pub public_key: ::prost::alloc::vec::Vec<u8>,
1276 #[prost(bytes = "vec", tag = "3")]
1277 pub controller_uid: ::prost::alloc::vec::Vec<u8>,
1278}
1279#[derive(Clone, PartialEq, ::prost::Message)]
1280pub struct GetKsmPublicKeysResponse {
1281 #[prost(message, repeated, tag = "1")]
1282 pub key_responses: ::prost::alloc::vec::Vec<DevicePublicKeyResponse>,
1283}
1284#[derive(Clone, PartialEq, ::prost::Message)]
1285pub struct AddAppSharesRequest {
1286 #[prost(bytes = "vec", tag = "1")]
1287 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1288 #[prost(message, repeated, tag = "2")]
1289 pub shares: ::prost::alloc::vec::Vec<AppShareAdd>,
1290}
1291#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1292pub struct RemoveAppSharesRequest {
1293 #[prost(bytes = "vec", tag = "1")]
1294 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1295 #[prost(bytes = "vec", repeated, tag = "2")]
1296 pub shares: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1297}
1298#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1299pub struct AppShareAdd {
1300 #[prost(bytes = "vec", tag = "2")]
1301 pub secret_uid: ::prost::alloc::vec::Vec<u8>,
1302 #[prost(enumeration = "ApplicationShareType", tag = "3")]
1303 pub share_type: i32,
1304 #[prost(bytes = "vec", tag = "4")]
1305 pub encrypted_secret_key: ::prost::alloc::vec::Vec<u8>,
1306 #[prost(bool, tag = "5")]
1307 pub editable: bool,
1308}
1309#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1310pub struct AppShare {
1311 #[prost(bytes = "vec", tag = "1")]
1312 pub secret_uid: ::prost::alloc::vec::Vec<u8>,
1313 #[prost(enumeration = "ApplicationShareType", tag = "2")]
1314 pub share_type: i32,
1315 #[prost(bool, tag = "3")]
1316 pub editable: bool,
1317 #[prost(int64, tag = "4")]
1318 pub created_on: i64,
1319 #[prost(bytes = "vec", tag = "5")]
1320 pub data: ::prost::alloc::vec::Vec<u8>,
1321}
1322#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1323pub struct AddAppClientRequest {
1324 #[prost(bytes = "vec", tag = "1")]
1325 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1326 #[prost(bytes = "vec", tag = "2")]
1327 pub encrypted_app_key: ::prost::alloc::vec::Vec<u8>,
1328 #[prost(bytes = "vec", tag = "3")]
1329 pub client_id: ::prost::alloc::vec::Vec<u8>,
1330 #[prost(bool, tag = "4")]
1331 pub lock_ip: bool,
1332 #[prost(int64, tag = "5")]
1333 pub first_access_expire_on: i64,
1334 #[prost(int64, tag = "6")]
1335 pub access_expire_on: i64,
1336 #[prost(string, tag = "7")]
1337 pub id: ::prost::alloc::string::String,
1338 #[prost(enumeration = "super::enterprise::AppClientType", tag = "8")]
1339 pub app_client_type: i32,
1340}
1341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1342pub struct RemoveAppClientsRequest {
1343 #[prost(bytes = "vec", tag = "1")]
1344 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1345 #[prost(bytes = "vec", repeated, tag = "2")]
1346 pub clients: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1347}
1348#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1349pub struct AddExternalShareRequest {
1350 #[prost(bytes = "vec", tag = "1")]
1351 pub record_uid: ::prost::alloc::vec::Vec<u8>,
1352 #[prost(bytes = "vec", tag = "2")]
1353 pub encrypted_record_key: ::prost::alloc::vec::Vec<u8>,
1354 #[prost(bytes = "vec", tag = "3")]
1355 pub client_id: ::prost::alloc::vec::Vec<u8>,
1356 #[prost(int64, tag = "4")]
1357 pub access_expire_on: i64,
1358 #[prost(string, tag = "5")]
1359 pub id: ::prost::alloc::string::String,
1360 #[prost(bool, tag = "6")]
1361 pub is_self_destruct: bool,
1362 #[prost(bool, tag = "7")]
1363 pub is_editable: bool,
1364}
1365#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1366pub struct AppClient {
1367 #[prost(string, tag = "1")]
1368 pub id: ::prost::alloc::string::String,
1369 #[prost(bytes = "vec", tag = "2")]
1370 pub client_id: ::prost::alloc::vec::Vec<u8>,
1371 #[prost(int64, tag = "3")]
1372 pub created_on: i64,
1373 #[prost(int64, tag = "4")]
1374 pub first_access: i64,
1375 #[prost(int64, tag = "5")]
1376 pub last_access: i64,
1377 #[prost(bytes = "vec", tag = "6")]
1378 pub public_key: ::prost::alloc::vec::Vec<u8>,
1379 #[prost(bool, tag = "7")]
1380 pub lock_ip: bool,
1381 #[prost(string, tag = "8")]
1382 pub ip_address: ::prost::alloc::string::String,
1383 #[prost(int64, tag = "9")]
1384 pub first_access_expire_on: i64,
1385 #[prost(int64, tag = "10")]
1386 pub access_expire_on: i64,
1387 #[prost(enumeration = "super::enterprise::AppClientType", tag = "11")]
1388 pub app_client_type: i32,
1389 #[prost(bool, tag = "12")]
1390 pub can_edit: bool,
1391}
1392#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1393pub struct GetAppInfoRequest {
1394 #[prost(bytes = "vec", repeated, tag = "1")]
1395 pub app_record_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1396}
1397#[derive(Clone, PartialEq, ::prost::Message)]
1398pub struct AppInfo {
1399 #[prost(bytes = "vec", tag = "1")]
1400 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1401 #[prost(message, repeated, tag = "2")]
1402 pub shares: ::prost::alloc::vec::Vec<AppShare>,
1403 #[prost(message, repeated, tag = "3")]
1404 pub clients: ::prost::alloc::vec::Vec<AppClient>,
1405 #[prost(bool, tag = "4")]
1406 pub is_external_share: bool,
1407}
1408#[derive(Clone, PartialEq, ::prost::Message)]
1409pub struct GetAppInfoResponse {
1410 #[prost(message, repeated, tag = "1")]
1411 pub app_info: ::prost::alloc::vec::Vec<AppInfo>,
1412}
1413#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1414pub struct ApplicationSummary {
1415 #[prost(bytes = "vec", tag = "1")]
1416 pub app_record_uid: ::prost::alloc::vec::Vec<u8>,
1417 #[prost(int64, tag = "2")]
1418 pub last_access: i64,
1419 #[prost(int32, tag = "3")]
1420 pub record_shares: i32,
1421 #[prost(int32, tag = "4")]
1422 pub folder_shares: i32,
1423 #[prost(int32, tag = "5")]
1424 pub folder_records: i32,
1425 #[prost(int32, tag = "6")]
1426 pub client_count: i32,
1427 #[prost(int32, tag = "7")]
1428 pub expired_client_count: i32,
1429 #[prost(string, tag = "8")]
1430 pub username: ::prost::alloc::string::String,
1431 #[prost(bytes = "vec", tag = "9")]
1432 pub app_data: ::prost::alloc::vec::Vec<u8>,
1433}
1434#[derive(Clone, PartialEq, ::prost::Message)]
1435pub struct GetApplicationsSummaryResponse {
1436 #[prost(message, repeated, tag = "1")]
1437 pub application_summary: ::prost::alloc::vec::Vec<ApplicationSummary>,
1438}
1439#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1440pub struct GetVerificationTokenRequest {
1441 #[prost(string, tag = "1")]
1442 pub username: ::prost::alloc::string::String,
1443}
1444#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1445pub struct GetVerificationTokenResponse {
1446 #[prost(bytes = "vec", tag = "1")]
1447 pub encrypted_verification_token: ::prost::alloc::vec::Vec<u8>,
1448}
1449#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1450pub struct SendShareInviteRequest {
1451 #[prost(string, tag = "1")]
1452 pub email: ::prost::alloc::string::String,
1453}
1454#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1455pub struct TimeLimitedAccessRequest {
1456 #[prost(bytes = "vec", repeated, tag = "1")]
1457 pub account_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1458 #[prost(bytes = "vec", repeated, tag = "2")]
1459 pub team_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1460 #[prost(bytes = "vec", repeated, tag = "3")]
1461 pub record_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1462 #[prost(bytes = "vec", tag = "4")]
1463 pub shared_object_uid: ::prost::alloc::vec::Vec<u8>,
1464 #[prost(enumeration = "TimeLimitedAccessType", tag = "5")]
1465 pub time_limited_access_type: i32,
1466 #[prost(int64, tag = "6")]
1467 pub expiration: i64,
1468}
1469#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1470pub struct TimeLimitedAccessStatus {
1471 #[prost(bytes = "vec", tag = "1")]
1472 pub uid: ::prost::alloc::vec::Vec<u8>,
1473 #[prost(string, tag = "2")]
1474 pub message: ::prost::alloc::string::String,
1475}
1476#[derive(Clone, PartialEq, ::prost::Message)]
1477pub struct TimeLimitedAccessResponse {
1478 #[prost(int64, tag = "1")]
1479 pub revision: i64,
1480 #[prost(message, repeated, tag = "2")]
1481 pub user_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
1482 #[prost(message, repeated, tag = "3")]
1483 pub team_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
1484 #[prost(message, repeated, tag = "4")]
1485 pub record_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
1486}
1487#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1488pub struct RequestDownloadRequest {
1489 #[prost(string, repeated, tag = "1")]
1490 pub file_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1491}
1492#[derive(Clone, PartialEq, ::prost::Message)]
1493pub struct RequestDownloadResponse {
1494 #[prost(string, tag = "1")]
1495 pub result: ::prost::alloc::string::String,
1496 #[prost(string, tag = "2")]
1497 pub message: ::prost::alloc::string::String,
1498 #[prost(message, repeated, tag = "3")]
1499 pub downloads: ::prost::alloc::vec::Vec<Download>,
1500}
1501#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1502pub struct Download {
1503 #[prost(string, tag = "1")]
1504 pub file_name: ::prost::alloc::string::String,
1505 #[prost(string, tag = "2")]
1506 pub url: ::prost::alloc::string::String,
1507 #[prost(int32, tag = "3")]
1508 pub success_status_code: i32,
1509}
1510#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1511pub struct DeleteUserRequest {
1512 #[prost(string, tag = "1")]
1513 pub reason: ::prost::alloc::string::String,
1514}
1515#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1516pub struct ChangeMasterPasswordRequest {
1517 #[prost(bytes = "vec", tag = "1")]
1518 pub auth_verifier: ::prost::alloc::vec::Vec<u8>,
1519 #[prost(bytes = "vec", tag = "2")]
1520 pub encryption_params: ::prost::alloc::vec::Vec<u8>,
1521 #[prost(bool, tag = "3")]
1522 pub from_service_provider: bool,
1523 #[prost(bool, tag = "4")]
1524 pub iterations_change: bool,
1525}
1526#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1527pub struct ChangeMasterPasswordResponse {
1528 #[prost(bytes = "vec", tag = "1")]
1529 pub encrypted_session_token: ::prost::alloc::vec::Vec<u8>,
1530}
1531#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1532pub struct AccountRecoverySetupRequest {
1533 #[prost(bytes = "vec", tag = "1")]
1534 pub recovery_encrypted_data_key: ::prost::alloc::vec::Vec<u8>,
1535 #[prost(bytes = "vec", tag = "2")]
1536 pub recovery_auth_hash: ::prost::alloc::vec::Vec<u8>,
1537}
1538#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1539pub struct AccountRecoveryVerifyCodeResponse {
1540 #[prost(enumeration = "BackupKeyType", tag = "1")]
1541 pub backup_key_type: i32,
1542 #[prost(int64, tag = "2")]
1543 pub backup_key_date: i64,
1544 #[prost(string, tag = "3")]
1545 pub security_question: ::prost::alloc::string::String,
1546 #[prost(bytes = "vec", tag = "4")]
1547 pub salt: ::prost::alloc::vec::Vec<u8>,
1548 #[prost(int32, tag = "5")]
1549 pub iterations: i32,
1550}
1551#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1552pub struct EmergencyAccessLoginRequest {
1553 #[prost(string, tag = "1")]
1554 pub owner: ::prost::alloc::string::String,
1555}
1556#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1557pub struct EmergencyAccessLoginResponse {
1558 #[prost(bytes = "vec", tag = "1")]
1559 pub session_token: ::prost::alloc::vec::Vec<u8>,
1560 #[prost(message, optional, tag = "2")]
1561 pub data_key: ::core::option::Option<super::enterprise::TypedKey>,
1562 #[prost(message, optional, tag = "3")]
1563 pub rsa_private_key: ::core::option::Option<super::enterprise::TypedKey>,
1564 #[prost(message, optional, tag = "4")]
1565 pub ecc_private_key: ::core::option::Option<super::enterprise::TypedKey>,
1566}
1567#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1568pub struct UserTeamKey {
1569 #[prost(bytes = "vec", tag = "1")]
1570 pub team_uid: ::prost::alloc::vec::Vec<u8>,
1571 #[prost(string, tag = "2")]
1572 pub username: ::prost::alloc::string::String,
1573 #[prost(int64, tag = "3")]
1574 pub enterprise_user_id: i64,
1575 #[prost(bytes = "vec", tag = "4")]
1576 pub encrypted_team_key_rsa: ::prost::alloc::vec::Vec<u8>,
1577 #[prost(bytes = "vec", tag = "5")]
1578 pub encrypted_team_key_ec: ::prost::alloc::vec::Vec<u8>,
1579 #[prost(enumeration = "GenericStatus", tag = "6")]
1580 pub status: i32,
1581}
1582#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1583pub struct GenericRequestResponse {
1584 #[prost(bytes = "vec", repeated, tag = "1")]
1585 pub request: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1586}
1587#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1588pub struct PasskeyRegistrationRequest {
1589 #[prost(enumeration = "AuthenticatorAttachment", tag = "1")]
1590 pub authenticator_attachment: i32,
1591}
1592#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1593pub struct PasskeyRegistrationResponse {
1594 #[prost(bytes = "vec", tag = "1")]
1595 pub challenge_token: ::prost::alloc::vec::Vec<u8>,
1596 #[prost(string, tag = "2")]
1597 pub pk_creation_options: ::prost::alloc::string::String,
1598}
1599#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1600pub struct PasskeyRegistrationFinalization {
1601 #[prost(bytes = "vec", tag = "1")]
1602 pub challenge_token: ::prost::alloc::vec::Vec<u8>,
1603 #[prost(string, tag = "2")]
1604 pub authenticator_response: ::prost::alloc::string::String,
1605 #[prost(oneof = "passkey_registration_finalization::FriendlyName", tags = "3")]
1606 pub friendly_name: ::core::option::Option<passkey_registration_finalization::FriendlyName>,
1607}
1608pub mod passkey_registration_finalization {
1610 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1611 pub enum FriendlyName {
1612 #[prost(string, tag = "3")]
1613 FriendlyName(::prost::alloc::string::String),
1614 }
1615}
1616#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1617pub struct PasskeyAuthenticationRequest {
1618 #[prost(enumeration = "AuthenticatorAttachment", tag = "1")]
1619 pub authenticator_attachment: i32,
1620 #[prost(enumeration = "PasskeyPurpose", tag = "2")]
1621 pub passkey_purpose: i32,
1622 #[prost(string, tag = "3")]
1623 pub client_version: ::prost::alloc::string::String,
1624 #[prost(bytes = "vec", tag = "4")]
1625 pub encrypted_device_token: ::prost::alloc::vec::Vec<u8>,
1626 #[prost(oneof = "passkey_authentication_request::Username", tags = "5")]
1627 pub username: ::core::option::Option<passkey_authentication_request::Username>,
1628 #[prost(
1629 oneof = "passkey_authentication_request::EncryptedLoginToken",
1630 tags = "6"
1631 )]
1632 pub encrypted_login_token:
1633 ::core::option::Option<passkey_authentication_request::EncryptedLoginToken>,
1634}
1635pub mod passkey_authentication_request {
1637 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1638 pub enum Username {
1639 #[prost(string, tag = "5")]
1640 Username(::prost::alloc::string::String),
1641 }
1642 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1643 pub enum EncryptedLoginToken {
1644 #[prost(bytes, tag = "6")]
1645 EncryptedLoginToken(::prost::alloc::vec::Vec<u8>),
1646 }
1647}
1648#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1649pub struct PasskeyAuthenticationResponse {
1650 #[prost(string, tag = "1")]
1651 pub pk_request_options: ::prost::alloc::string::String,
1652 #[prost(bytes = "vec", tag = "2")]
1653 pub challenge_token: ::prost::alloc::vec::Vec<u8>,
1654 #[prost(
1655 oneof = "passkey_authentication_response::EncryptedLoginToken",
1656 tags = "3"
1657 )]
1658 pub encrypted_login_token:
1659 ::core::option::Option<passkey_authentication_response::EncryptedLoginToken>,
1660}
1661pub mod passkey_authentication_response {
1663 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1664 pub enum EncryptedLoginToken {
1665 #[prost(bytes, tag = "3")]
1666 EncryptedLoginToken(::prost::alloc::vec::Vec<u8>),
1667 }
1668}
1669#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1670pub struct PasskeyValidationRequest {
1671 #[prost(bytes = "vec", tag = "1")]
1672 pub challenge_token: ::prost::alloc::vec::Vec<u8>,
1673 #[prost(bytes = "vec", tag = "2")]
1674 pub assertion_response: ::prost::alloc::vec::Vec<u8>,
1675 #[prost(enumeration = "PasskeyPurpose", tag = "3")]
1676 pub passkey_purpose: i32,
1677 #[prost(oneof = "passkey_validation_request::EncryptedLoginToken", tags = "4")]
1678 pub encrypted_login_token:
1679 ::core::option::Option<passkey_validation_request::EncryptedLoginToken>,
1680}
1681pub mod passkey_validation_request {
1683 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1684 pub enum EncryptedLoginToken {
1685 #[prost(bytes, tag = "4")]
1686 EncryptedLoginToken(::prost::alloc::vec::Vec<u8>),
1687 }
1688}
1689#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1690pub struct PasskeyValidationResponse {
1691 #[prost(bool, tag = "1")]
1692 pub is_valid: bool,
1693 #[prost(bytes = "vec", tag = "2")]
1694 pub encrypted_login_token: ::prost::alloc::vec::Vec<u8>,
1695}
1696#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1697pub struct UpdatePasskeyRequest {
1698 #[prost(int32, tag = "1")]
1699 pub user_id: i32,
1700 #[prost(bytes = "vec", tag = "2")]
1701 pub credential_id: ::prost::alloc::vec::Vec<u8>,
1702 #[prost(oneof = "update_passkey_request::FriendlyName", tags = "3")]
1703 pub friendly_name: ::core::option::Option<update_passkey_request::FriendlyName>,
1704}
1705pub mod update_passkey_request {
1707 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1708 pub enum FriendlyName {
1709 #[prost(string, tag = "3")]
1710 FriendlyName(::prost::alloc::string::String),
1711 }
1712}
1713#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1714pub struct PasskeyListRequest {
1715 #[prost(bool, tag = "1")]
1716 pub include_disabled: bool,
1717}
1718#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1719pub struct PasskeyInfo {
1720 #[prost(int32, tag = "1")]
1721 pub user_id: i32,
1722 #[prost(bytes = "vec", tag = "2")]
1723 pub credential_id: ::prost::alloc::vec::Vec<u8>,
1724 #[prost(string, tag = "3")]
1725 pub friendly_name: ::prost::alloc::string::String,
1726 #[prost(string, tag = "4")]
1727 pub aaguid: ::prost::alloc::string::String,
1728 #[prost(int64, tag = "5")]
1729 pub created_at_millis: i64,
1730 #[prost(int64, tag = "6")]
1731 pub last_used_millis: i64,
1732 #[prost(int64, tag = "7")]
1733 pub disabled_at_millis: i64,
1734}
1735#[derive(Clone, PartialEq, ::prost::Message)]
1736pub struct PasskeyListResponse {
1737 #[prost(message, repeated, tag = "1")]
1738 pub passkey_info: ::prost::alloc::vec::Vec<PasskeyInfo>,
1739}
1740#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1741pub struct TranslationInfo {
1742 #[prost(string, tag = "1")]
1743 pub translation_key: ::prost::alloc::string::String,
1744 #[prost(string, tag = "2")]
1745 pub translation_value: ::prost::alloc::string::String,
1746}
1747#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1748pub struct TranslationRequest {
1749 #[prost(string, repeated, tag = "1")]
1750 pub translation_key: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1751}
1752#[derive(Clone, PartialEq, ::prost::Message)]
1753pub struct TranslationResponse {
1754 #[prost(message, repeated, tag = "1")]
1755 pub translation_info: ::prost::alloc::vec::Vec<TranslationInfo>,
1756}
1757#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1758#[repr(i32)]
1759pub enum SupportedLanguage {
1760 English = 0,
1761 Arabic = 1,
1762 British = 2,
1763 Chinese = 3,
1764 ChineseHongKong = 4,
1765 ChineseTaiwan = 5,
1766 Dutch = 6,
1767 French = 7,
1768 German = 8,
1769 Greek = 9,
1770 Hebrew = 10,
1771 Italian = 11,
1772 Japanese = 12,
1773 Korean = 13,
1774 Polish = 14,
1775 Portuguese = 15,
1776 PortugueseBrazil = 16,
1777 Romanian = 17,
1778 Russian = 18,
1779 Slovak = 19,
1780 Spanish = 20,
1781 Finnish = 21,
1782 Swedish = 22,
1783}
1784impl SupportedLanguage {
1785 pub fn as_str_name(&self) -> &'static str {
1790 match self {
1791 Self::English => "ENGLISH",
1792 Self::Arabic => "ARABIC",
1793 Self::British => "BRITISH",
1794 Self::Chinese => "CHINESE",
1795 Self::ChineseHongKong => "CHINESE_HONG_KONG",
1796 Self::ChineseTaiwan => "CHINESE_TAIWAN",
1797 Self::Dutch => "DUTCH",
1798 Self::French => "FRENCH",
1799 Self::German => "GERMAN",
1800 Self::Greek => "GREEK",
1801 Self::Hebrew => "HEBREW",
1802 Self::Italian => "ITALIAN",
1803 Self::Japanese => "JAPANESE",
1804 Self::Korean => "KOREAN",
1805 Self::Polish => "POLISH",
1806 Self::Portuguese => "PORTUGUESE",
1807 Self::PortugueseBrazil => "PORTUGUESE_BRAZIL",
1808 Self::Romanian => "ROMANIAN",
1809 Self::Russian => "RUSSIAN",
1810 Self::Slovak => "SLOVAK",
1811 Self::Spanish => "SPANISH",
1812 Self::Finnish => "FINNISH",
1813 Self::Swedish => "SWEDISH",
1814 }
1815 }
1816 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1818 match value {
1819 "ENGLISH" => Some(Self::English),
1820 "ARABIC" => Some(Self::Arabic),
1821 "BRITISH" => Some(Self::British),
1822 "CHINESE" => Some(Self::Chinese),
1823 "CHINESE_HONG_KONG" => Some(Self::ChineseHongKong),
1824 "CHINESE_TAIWAN" => Some(Self::ChineseTaiwan),
1825 "DUTCH" => Some(Self::Dutch),
1826 "FRENCH" => Some(Self::French),
1827 "GERMAN" => Some(Self::German),
1828 "GREEK" => Some(Self::Greek),
1829 "HEBREW" => Some(Self::Hebrew),
1830 "ITALIAN" => Some(Self::Italian),
1831 "JAPANESE" => Some(Self::Japanese),
1832 "KOREAN" => Some(Self::Korean),
1833 "POLISH" => Some(Self::Polish),
1834 "PORTUGUESE" => Some(Self::Portuguese),
1835 "PORTUGUESE_BRAZIL" => Some(Self::PortugueseBrazil),
1836 "ROMANIAN" => Some(Self::Romanian),
1837 "RUSSIAN" => Some(Self::Russian),
1838 "SLOVAK" => Some(Self::Slovak),
1839 "SPANISH" => Some(Self::Spanish),
1840 "FINNISH" => Some(Self::Finnish),
1841 "SWEDISH" => Some(Self::Swedish),
1842 _ => None,
1843 }
1844 }
1845}
1846#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1847#[repr(i32)]
1848pub enum LoginType {
1849 Normal = 0,
1850 Sso = 1,
1851 Bio = 2,
1852 Alternate = 3,
1853 Offline = 4,
1854 ForgotPassword = 5,
1855 PasskeyBio = 6,
1856}
1857impl LoginType {
1858 pub fn as_str_name(&self) -> &'static str {
1863 match self {
1864 Self::Normal => "NORMAL",
1865 Self::Sso => "SSO",
1866 Self::Bio => "BIO",
1867 Self::Alternate => "ALTERNATE",
1868 Self::Offline => "OFFLINE",
1869 Self::ForgotPassword => "FORGOT_PASSWORD",
1870 Self::PasskeyBio => "PASSKEY_BIO",
1871 }
1872 }
1873 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1875 match value {
1876 "NORMAL" => Some(Self::Normal),
1877 "SSO" => Some(Self::Sso),
1878 "BIO" => Some(Self::Bio),
1879 "ALTERNATE" => Some(Self::Alternate),
1880 "OFFLINE" => Some(Self::Offline),
1881 "FORGOT_PASSWORD" => Some(Self::ForgotPassword),
1882 "PASSKEY_BIO" => Some(Self::PasskeyBio),
1883 _ => None,
1884 }
1885 }
1886}
1887#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1888#[repr(i32)]
1889pub enum DeviceStatus {
1890 DeviceNeedsApproval = 0,
1891 DeviceOk = 1,
1892 DeviceDisabledByUser = 2,
1893 DeviceLockedByAdmin = 3,
1894}
1895impl DeviceStatus {
1896 pub fn as_str_name(&self) -> &'static str {
1901 match self {
1902 Self::DeviceNeedsApproval => "DEVICE_NEEDS_APPROVAL",
1903 Self::DeviceOk => "DEVICE_OK",
1904 Self::DeviceDisabledByUser => "DEVICE_DISABLED_BY_USER",
1905 Self::DeviceLockedByAdmin => "DEVICE_LOCKED_BY_ADMIN",
1906 }
1907 }
1908 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1910 match value {
1911 "DEVICE_NEEDS_APPROVAL" => Some(Self::DeviceNeedsApproval),
1912 "DEVICE_OK" => Some(Self::DeviceOk),
1913 "DEVICE_DISABLED_BY_USER" => Some(Self::DeviceDisabledByUser),
1914 "DEVICE_LOCKED_BY_ADMIN" => Some(Self::DeviceLockedByAdmin),
1915 _ => None,
1916 }
1917 }
1918}
1919#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1920#[repr(i32)]
1921pub enum LicenseStatus {
1922 Other = 0,
1923 Active = 1,
1924 Expired = 2,
1925 Disabled = 3,
1926}
1927impl LicenseStatus {
1928 pub fn as_str_name(&self) -> &'static str {
1933 match self {
1934 Self::Other => "OTHER",
1935 Self::Active => "ACTIVE",
1936 Self::Expired => "EXPIRED",
1937 Self::Disabled => "DISABLED",
1938 }
1939 }
1940 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1942 match value {
1943 "OTHER" => Some(Self::Other),
1944 "ACTIVE" => Some(Self::Active),
1945 "EXPIRED" => Some(Self::Expired),
1946 "DISABLED" => Some(Self::Disabled),
1947 _ => None,
1948 }
1949 }
1950}
1951#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1952#[repr(i32)]
1953pub enum AccountType {
1954 Consumer = 0,
1955 Family = 1,
1956 Enterprise = 2,
1957}
1958impl AccountType {
1959 pub fn as_str_name(&self) -> &'static str {
1964 match self {
1965 Self::Consumer => "CONSUMER",
1966 Self::Family => "FAMILY",
1967 Self::Enterprise => "ENTERPRISE",
1968 }
1969 }
1970 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1972 match value {
1973 "CONSUMER" => Some(Self::Consumer),
1974 "FAMILY" => Some(Self::Family),
1975 "ENTERPRISE" => Some(Self::Enterprise),
1976 _ => None,
1977 }
1978 }
1979}
1980#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1981#[repr(i32)]
1982pub enum SessionTokenType {
1983 NoRestriction = 0,
1984 AccountRecovery = 1,
1985 ShareAccount = 2,
1986 Purchase = 3,
1987 Restrict = 4,
1988 AcceptInvite = 5,
1989 SupportServer = 6,
1990 EnterpriseCreation = 7,
1991 ExpiredButAllowedToSync = 8,
1992 AcceptFamilyInvite = 9,
1993 EnterpriseCreationPurchased = 10,
1994 EmergencyAccess = 11,
1995}
1996impl SessionTokenType {
1997 pub fn as_str_name(&self) -> &'static str {
2002 match self {
2003 Self::NoRestriction => "NO_RESTRICTION",
2004 Self::AccountRecovery => "ACCOUNT_RECOVERY",
2005 Self::ShareAccount => "SHARE_ACCOUNT",
2006 Self::Purchase => "PURCHASE",
2007 Self::Restrict => "RESTRICT",
2008 Self::AcceptInvite => "ACCEPT_INVITE",
2009 Self::SupportServer => "SUPPORT_SERVER",
2010 Self::EnterpriseCreation => "ENTERPRISE_CREATION",
2011 Self::ExpiredButAllowedToSync => "EXPIRED_BUT_ALLOWED_TO_SYNC",
2012 Self::AcceptFamilyInvite => "ACCEPT_FAMILY_INVITE",
2013 Self::EnterpriseCreationPurchased => "ENTERPRISE_CREATION_PURCHASED",
2014 Self::EmergencyAccess => "EMERGENCY_ACCESS",
2015 }
2016 }
2017 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2019 match value {
2020 "NO_RESTRICTION" => Some(Self::NoRestriction),
2021 "ACCOUNT_RECOVERY" => Some(Self::AccountRecovery),
2022 "SHARE_ACCOUNT" => Some(Self::ShareAccount),
2023 "PURCHASE" => Some(Self::Purchase),
2024 "RESTRICT" => Some(Self::Restrict),
2025 "ACCEPT_INVITE" => Some(Self::AcceptInvite),
2026 "SUPPORT_SERVER" => Some(Self::SupportServer),
2027 "ENTERPRISE_CREATION" => Some(Self::EnterpriseCreation),
2028 "EXPIRED_BUT_ALLOWED_TO_SYNC" => Some(Self::ExpiredButAllowedToSync),
2029 "ACCEPT_FAMILY_INVITE" => Some(Self::AcceptFamilyInvite),
2030 "ENTERPRISE_CREATION_PURCHASED" => Some(Self::EnterpriseCreationPurchased),
2031 "EMERGENCY_ACCESS" => Some(Self::EmergencyAccess),
2032 _ => None,
2033 }
2034 }
2035}
2036#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2037#[repr(i32)]
2038pub enum Version {
2039 InvalidVersion = 0,
2040 DefaultVersion = 1,
2041 SecondVersion = 2,
2042}
2043impl Version {
2044 pub fn as_str_name(&self) -> &'static str {
2049 match self {
2050 Self::InvalidVersion => "invalid_version",
2051 Self::DefaultVersion => "default_version",
2052 Self::SecondVersion => "second_version",
2053 }
2054 }
2055 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2057 match value {
2058 "invalid_version" => Some(Self::InvalidVersion),
2059 "default_version" => Some(Self::DefaultVersion),
2060 "second_version" => Some(Self::SecondVersion),
2061 _ => None,
2062 }
2063 }
2064}
2065#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2066#[repr(i32)]
2067pub enum MasterPasswordReentryActionType {
2068 Unmask = 0,
2069 Copy = 1,
2070}
2071impl MasterPasswordReentryActionType {
2072 pub fn as_str_name(&self) -> &'static str {
2077 match self {
2078 Self::Unmask => "UNMASK",
2079 Self::Copy => "COPY",
2080 }
2081 }
2082 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2084 match value {
2085 "UNMASK" => Some(Self::Unmask),
2086 "COPY" => Some(Self::Copy),
2087 _ => None,
2088 }
2089 }
2090}
2091#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2092#[repr(i32)]
2093pub enum LoginMethod {
2094 InvalidLoginmethod = 0,
2095 ExistingAccount = 1,
2096 SsoDomain = 2,
2097 AfterSso = 3,
2098 NewAccount = 4,
2099}
2100impl LoginMethod {
2101 pub fn as_str_name(&self) -> &'static str {
2106 match self {
2107 Self::InvalidLoginmethod => "INVALID_LOGINMETHOD",
2108 Self::ExistingAccount => "EXISTING_ACCOUNT",
2109 Self::SsoDomain => "SSO_DOMAIN",
2110 Self::AfterSso => "AFTER_SSO",
2111 Self::NewAccount => "NEW_ACCOUNT",
2112 }
2113 }
2114 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2116 match value {
2117 "INVALID_LOGINMETHOD" => Some(Self::InvalidLoginmethod),
2118 "EXISTING_ACCOUNT" => Some(Self::ExistingAccount),
2119 "SSO_DOMAIN" => Some(Self::SsoDomain),
2120 "AFTER_SSO" => Some(Self::AfterSso),
2121 "NEW_ACCOUNT" => Some(Self::NewAccount),
2122 _ => None,
2123 }
2124 }
2125}
2126#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2127#[repr(i32)]
2128pub enum LoginState {
2129 InvalidLoginstate = 0,
2130 LoggedOut = 1,
2131 DeviceApprovalRequired = 2,
2132 DeviceLocked = 3,
2133 AccountLocked = 4,
2134 DeviceAccountLocked = 5,
2135 Upgrade = 6,
2136 LicenseExpired = 7,
2137 RegionRedirect = 8,
2138 RedirectCloudSso = 9,
2139 RedirectOnsiteSso = 10,
2140 Requires2fa = 12,
2141 RequiresAuthHash = 13,
2142 RequiresUsername = 14,
2143 AfterCloudSsoLogin = 15,
2144 RequiresAccountCreation = 16,
2145 RequiresDeviceEncryptedDataKey = 17,
2146 LoginTokenExpired = 18,
2147 PasskeyInitiateChallenge = 19,
2148 PasskeyAuthRequired = 20,
2149 PasskeyVerifyAuthentication = 21,
2150 AfterPasskeyLogin = 22,
2151 LoggedIn = 99,
2152}
2153impl LoginState {
2154 pub fn as_str_name(&self) -> &'static str {
2159 match self {
2160 Self::InvalidLoginstate => "INVALID_LOGINSTATE",
2161 Self::LoggedOut => "LOGGED_OUT",
2162 Self::DeviceApprovalRequired => "DEVICE_APPROVAL_REQUIRED",
2163 Self::DeviceLocked => "DEVICE_LOCKED",
2164 Self::AccountLocked => "ACCOUNT_LOCKED",
2165 Self::DeviceAccountLocked => "DEVICE_ACCOUNT_LOCKED",
2166 Self::Upgrade => "UPGRADE",
2167 Self::LicenseExpired => "LICENSE_EXPIRED",
2168 Self::RegionRedirect => "REGION_REDIRECT",
2169 Self::RedirectCloudSso => "REDIRECT_CLOUD_SSO",
2170 Self::RedirectOnsiteSso => "REDIRECT_ONSITE_SSO",
2171 Self::Requires2fa => "REQUIRES_2FA",
2172 Self::RequiresAuthHash => "REQUIRES_AUTH_HASH",
2173 Self::RequiresUsername => "REQUIRES_USERNAME",
2174 Self::AfterCloudSsoLogin => "AFTER_CLOUD_SSO_LOGIN",
2175 Self::RequiresAccountCreation => "REQUIRES_ACCOUNT_CREATION",
2176 Self::RequiresDeviceEncryptedDataKey => "REQUIRES_DEVICE_ENCRYPTED_DATA_KEY",
2177 Self::LoginTokenExpired => "LOGIN_TOKEN_EXPIRED",
2178 Self::PasskeyInitiateChallenge => "PASSKEY_INITIATE_CHALLENGE",
2179 Self::PasskeyAuthRequired => "PASSKEY_AUTH_REQUIRED",
2180 Self::PasskeyVerifyAuthentication => "PASSKEY_VERIFY_AUTHENTICATION",
2181 Self::AfterPasskeyLogin => "AFTER_PASSKEY_LOGIN",
2182 Self::LoggedIn => "LOGGED_IN",
2183 }
2184 }
2185 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2187 match value {
2188 "INVALID_LOGINSTATE" => Some(Self::InvalidLoginstate),
2189 "LOGGED_OUT" => Some(Self::LoggedOut),
2190 "DEVICE_APPROVAL_REQUIRED" => Some(Self::DeviceApprovalRequired),
2191 "DEVICE_LOCKED" => Some(Self::DeviceLocked),
2192 "ACCOUNT_LOCKED" => Some(Self::AccountLocked),
2193 "DEVICE_ACCOUNT_LOCKED" => Some(Self::DeviceAccountLocked),
2194 "UPGRADE" => Some(Self::Upgrade),
2195 "LICENSE_EXPIRED" => Some(Self::LicenseExpired),
2196 "REGION_REDIRECT" => Some(Self::RegionRedirect),
2197 "REDIRECT_CLOUD_SSO" => Some(Self::RedirectCloudSso),
2198 "REDIRECT_ONSITE_SSO" => Some(Self::RedirectOnsiteSso),
2199 "REQUIRES_2FA" => Some(Self::Requires2fa),
2200 "REQUIRES_AUTH_HASH" => Some(Self::RequiresAuthHash),
2201 "REQUIRES_USERNAME" => Some(Self::RequiresUsername),
2202 "AFTER_CLOUD_SSO_LOGIN" => Some(Self::AfterCloudSsoLogin),
2203 "REQUIRES_ACCOUNT_CREATION" => Some(Self::RequiresAccountCreation),
2204 "REQUIRES_DEVICE_ENCRYPTED_DATA_KEY" => Some(Self::RequiresDeviceEncryptedDataKey),
2205 "LOGIN_TOKEN_EXPIRED" => Some(Self::LoginTokenExpired),
2206 "PASSKEY_INITIATE_CHALLENGE" => Some(Self::PasskeyInitiateChallenge),
2207 "PASSKEY_AUTH_REQUIRED" => Some(Self::PasskeyAuthRequired),
2208 "PASSKEY_VERIFY_AUTHENTICATION" => Some(Self::PasskeyVerifyAuthentication),
2209 "AFTER_PASSKEY_LOGIN" => Some(Self::AfterPasskeyLogin),
2210 "LOGGED_IN" => Some(Self::LoggedIn),
2211 _ => None,
2212 }
2213 }
2214}
2215#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2216#[repr(i32)]
2217pub enum EncryptedDataKeyType {
2218 NoKey = 0,
2219 ByDevicePublicKey = 1,
2220 ByPassword = 2,
2221 ByAlternate = 3,
2222 ByBio = 4,
2223}
2224impl EncryptedDataKeyType {
2225 pub fn as_str_name(&self) -> &'static str {
2230 match self {
2231 Self::NoKey => "NO_KEY",
2232 Self::ByDevicePublicKey => "BY_DEVICE_PUBLIC_KEY",
2233 Self::ByPassword => "BY_PASSWORD",
2234 Self::ByAlternate => "BY_ALTERNATE",
2235 Self::ByBio => "BY_BIO",
2236 }
2237 }
2238 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2240 match value {
2241 "NO_KEY" => Some(Self::NoKey),
2242 "BY_DEVICE_PUBLIC_KEY" => Some(Self::ByDevicePublicKey),
2243 "BY_PASSWORD" => Some(Self::ByPassword),
2244 "BY_ALTERNATE" => Some(Self::ByAlternate),
2245 "BY_BIO" => Some(Self::ByBio),
2246 _ => None,
2247 }
2248 }
2249}
2250#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2251#[repr(i32)]
2252pub enum PasswordMethod {
2253 Entered = 0,
2254 Biometrics = 1,
2255}
2256impl PasswordMethod {
2257 pub fn as_str_name(&self) -> &'static str {
2262 match self {
2263 Self::Entered => "ENTERED",
2264 Self::Biometrics => "BIOMETRICS",
2265 }
2266 }
2267 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2269 match value {
2270 "ENTERED" => Some(Self::Entered),
2271 "BIOMETRICS" => Some(Self::Biometrics),
2272 _ => None,
2273 }
2274 }
2275}
2276#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2277#[repr(i32)]
2278pub enum TwoFactorPushType {
2279 TwoFaPushNone = 0,
2280 TwoFaPushSms = 1,
2281 TwoFaPushKeeper = 2,
2282 TwoFaPushDuoPush = 3,
2283 TwoFaPushDuoText = 4,
2284 TwoFaPushDuoCall = 5,
2285 TwoFaPushDna = 6,
2286}
2287impl TwoFactorPushType {
2288 pub fn as_str_name(&self) -> &'static str {
2293 match self {
2294 Self::TwoFaPushNone => "TWO_FA_PUSH_NONE",
2295 Self::TwoFaPushSms => "TWO_FA_PUSH_SMS",
2296 Self::TwoFaPushKeeper => "TWO_FA_PUSH_KEEPER",
2297 Self::TwoFaPushDuoPush => "TWO_FA_PUSH_DUO_PUSH",
2298 Self::TwoFaPushDuoText => "TWO_FA_PUSH_DUO_TEXT",
2299 Self::TwoFaPushDuoCall => "TWO_FA_PUSH_DUO_CALL",
2300 Self::TwoFaPushDna => "TWO_FA_PUSH_DNA",
2301 }
2302 }
2303 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2305 match value {
2306 "TWO_FA_PUSH_NONE" => Some(Self::TwoFaPushNone),
2307 "TWO_FA_PUSH_SMS" => Some(Self::TwoFaPushSms),
2308 "TWO_FA_PUSH_KEEPER" => Some(Self::TwoFaPushKeeper),
2309 "TWO_FA_PUSH_DUO_PUSH" => Some(Self::TwoFaPushDuoPush),
2310 "TWO_FA_PUSH_DUO_TEXT" => Some(Self::TwoFaPushDuoText),
2311 "TWO_FA_PUSH_DUO_CALL" => Some(Self::TwoFaPushDuoCall),
2312 "TWO_FA_PUSH_DNA" => Some(Self::TwoFaPushDna),
2313 _ => None,
2314 }
2315 }
2316}
2317#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2318#[repr(i32)]
2319pub enum TwoFactorValueType {
2320 TwoFaCodeNone = 0,
2321 TwoFaCodeTotp = 1,
2322 TwoFaCodeSms = 2,
2323 TwoFaCodeDuo = 3,
2324 TwoFaCodeRsa = 4,
2325 TwoFaRespU2f = 5,
2326 TwoFaRespWebauthn = 6,
2327 TwoFaCodeDna = 7,
2328}
2329impl TwoFactorValueType {
2330 pub fn as_str_name(&self) -> &'static str {
2335 match self {
2336 Self::TwoFaCodeNone => "TWO_FA_CODE_NONE",
2337 Self::TwoFaCodeTotp => "TWO_FA_CODE_TOTP",
2338 Self::TwoFaCodeSms => "TWO_FA_CODE_SMS",
2339 Self::TwoFaCodeDuo => "TWO_FA_CODE_DUO",
2340 Self::TwoFaCodeRsa => "TWO_FA_CODE_RSA",
2341 Self::TwoFaRespU2f => "TWO_FA_RESP_U2F",
2342 Self::TwoFaRespWebauthn => "TWO_FA_RESP_WEBAUTHN",
2343 Self::TwoFaCodeDna => "TWO_FA_CODE_DNA",
2344 }
2345 }
2346 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2348 match value {
2349 "TWO_FA_CODE_NONE" => Some(Self::TwoFaCodeNone),
2350 "TWO_FA_CODE_TOTP" => Some(Self::TwoFaCodeTotp),
2351 "TWO_FA_CODE_SMS" => Some(Self::TwoFaCodeSms),
2352 "TWO_FA_CODE_DUO" => Some(Self::TwoFaCodeDuo),
2353 "TWO_FA_CODE_RSA" => Some(Self::TwoFaCodeRsa),
2354 "TWO_FA_RESP_U2F" => Some(Self::TwoFaRespU2f),
2355 "TWO_FA_RESP_WEBAUTHN" => Some(Self::TwoFaRespWebauthn),
2356 "TWO_FA_CODE_DNA" => Some(Self::TwoFaCodeDna),
2357 _ => None,
2358 }
2359 }
2360}
2361#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2362#[repr(i32)]
2363pub enum TwoFactorChannelType {
2364 TwoFaCtNone = 0,
2365 TwoFaCtTotp = 1,
2366 TwoFaCtSms = 2,
2367 TwoFaCtDuo = 3,
2368 TwoFaCtRsa = 4,
2369 TwoFaCtBackup = 5,
2370 TwoFaCtU2f = 6,
2371 TwoFaCtWebauthn = 7,
2372 TwoFaCtKeeper = 8,
2373 TwoFaCtDna = 9,
2374}
2375impl TwoFactorChannelType {
2376 pub fn as_str_name(&self) -> &'static str {
2381 match self {
2382 Self::TwoFaCtNone => "TWO_FA_CT_NONE",
2383 Self::TwoFaCtTotp => "TWO_FA_CT_TOTP",
2384 Self::TwoFaCtSms => "TWO_FA_CT_SMS",
2385 Self::TwoFaCtDuo => "TWO_FA_CT_DUO",
2386 Self::TwoFaCtRsa => "TWO_FA_CT_RSA",
2387 Self::TwoFaCtBackup => "TWO_FA_CT_BACKUP",
2388 Self::TwoFaCtU2f => "TWO_FA_CT_U2F",
2389 Self::TwoFaCtWebauthn => "TWO_FA_CT_WEBAUTHN",
2390 Self::TwoFaCtKeeper => "TWO_FA_CT_KEEPER",
2391 Self::TwoFaCtDna => "TWO_FA_CT_DNA",
2392 }
2393 }
2394 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2396 match value {
2397 "TWO_FA_CT_NONE" => Some(Self::TwoFaCtNone),
2398 "TWO_FA_CT_TOTP" => Some(Self::TwoFaCtTotp),
2399 "TWO_FA_CT_SMS" => Some(Self::TwoFaCtSms),
2400 "TWO_FA_CT_DUO" => Some(Self::TwoFaCtDuo),
2401 "TWO_FA_CT_RSA" => Some(Self::TwoFaCtRsa),
2402 "TWO_FA_CT_BACKUP" => Some(Self::TwoFaCtBackup),
2403 "TWO_FA_CT_U2F" => Some(Self::TwoFaCtU2f),
2404 "TWO_FA_CT_WEBAUTHN" => Some(Self::TwoFaCtWebauthn),
2405 "TWO_FA_CT_KEEPER" => Some(Self::TwoFaCtKeeper),
2406 "TWO_FA_CT_DNA" => Some(Self::TwoFaCtDna),
2407 _ => None,
2408 }
2409 }
2410}
2411#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2412#[repr(i32)]
2413pub enum TwoFactorExpiration {
2414 TwoFaExpImmediately = 0,
2415 TwoFaExp5Minutes = 1,
2416 TwoFaExp12Hours = 2,
2417 TwoFaExp24Hours = 3,
2418 TwoFaExp30Days = 4,
2419 TwoFaExpNever = 5,
2420}
2421impl TwoFactorExpiration {
2422 pub fn as_str_name(&self) -> &'static str {
2427 match self {
2428 Self::TwoFaExpImmediately => "TWO_FA_EXP_IMMEDIATELY",
2429 Self::TwoFaExp5Minutes => "TWO_FA_EXP_5_MINUTES",
2430 Self::TwoFaExp12Hours => "TWO_FA_EXP_12_HOURS",
2431 Self::TwoFaExp24Hours => "TWO_FA_EXP_24_HOURS",
2432 Self::TwoFaExp30Days => "TWO_FA_EXP_30_DAYS",
2433 Self::TwoFaExpNever => "TWO_FA_EXP_NEVER",
2434 }
2435 }
2436 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2438 match value {
2439 "TWO_FA_EXP_IMMEDIATELY" => Some(Self::TwoFaExpImmediately),
2440 "TWO_FA_EXP_5_MINUTES" => Some(Self::TwoFaExp5Minutes),
2441 "TWO_FA_EXP_12_HOURS" => Some(Self::TwoFaExp12Hours),
2442 "TWO_FA_EXP_24_HOURS" => Some(Self::TwoFaExp24Hours),
2443 "TWO_FA_EXP_30_DAYS" => Some(Self::TwoFaExp30Days),
2444 "TWO_FA_EXP_NEVER" => Some(Self::TwoFaExpNever),
2445 _ => None,
2446 }
2447 }
2448}
2449#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2450#[repr(i32)]
2451pub enum LicenseType {
2452 Vault = 0,
2453 Chat = 1,
2454 Storage = 2,
2455 Breachwatch = 3,
2456}
2457impl LicenseType {
2458 pub fn as_str_name(&self) -> &'static str {
2463 match self {
2464 Self::Vault => "VAULT",
2465 Self::Chat => "CHAT",
2466 Self::Storage => "STORAGE",
2467 Self::Breachwatch => "BREACHWATCH",
2468 }
2469 }
2470 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2472 match value {
2473 "VAULT" => Some(Self::Vault),
2474 "CHAT" => Some(Self::Chat),
2475 "STORAGE" => Some(Self::Storage),
2476 "BREACHWATCH" => Some(Self::Breachwatch),
2477 _ => None,
2478 }
2479 }
2480}
2481#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2482#[repr(i32)]
2483pub enum ObjectTypes {
2484 Record = 0,
2485 SharedFolderUser = 1,
2486 SharedFolderTeam = 2,
2487 UserFolder = 3,
2488 TeamUser = 4,
2489}
2490impl ObjectTypes {
2491 pub fn as_str_name(&self) -> &'static str {
2496 match self {
2497 Self::Record => "RECORD",
2498 Self::SharedFolderUser => "SHARED_FOLDER_USER",
2499 Self::SharedFolderTeam => "SHARED_FOLDER_TEAM",
2500 Self::UserFolder => "USER_FOLDER",
2501 Self::TeamUser => "TEAM_USER",
2502 }
2503 }
2504 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2506 match value {
2507 "RECORD" => Some(Self::Record),
2508 "SHARED_FOLDER_USER" => Some(Self::SharedFolderUser),
2509 "SHARED_FOLDER_TEAM" => Some(Self::SharedFolderTeam),
2510 "USER_FOLDER" => Some(Self::UserFolder),
2511 "TEAM_USER" => Some(Self::TeamUser),
2512 _ => None,
2513 }
2514 }
2515}
2516#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2517#[repr(i32)]
2518pub enum EncryptedObjectType {
2519 EotUnspecified = 0,
2520 EotRecordKey = 1,
2521 EotSharedFolderUserKey = 2,
2522 EotSharedFolderTeamKey = 3,
2523 EotTeamUserKey = 4,
2524 EotUserFolderKey = 5,
2525 EotSecurityData = 6,
2526 EotSecurityDataMasterPassword = 7,
2527 EotEmergencyAccessKey = 8,
2528 EotV2RecordKey = 9,
2529}
2530impl EncryptedObjectType {
2531 pub fn as_str_name(&self) -> &'static str {
2536 match self {
2537 Self::EotUnspecified => "EOT_UNSPECIFIED",
2538 Self::EotRecordKey => "EOT_RECORD_KEY",
2539 Self::EotSharedFolderUserKey => "EOT_SHARED_FOLDER_USER_KEY",
2540 Self::EotSharedFolderTeamKey => "EOT_SHARED_FOLDER_TEAM_KEY",
2541 Self::EotTeamUserKey => "EOT_TEAM_USER_KEY",
2542 Self::EotUserFolderKey => "EOT_USER_FOLDER_KEY",
2543 Self::EotSecurityData => "EOT_SECURITY_DATA",
2544 Self::EotSecurityDataMasterPassword => "EOT_SECURITY_DATA_MASTER_PASSWORD",
2545 Self::EotEmergencyAccessKey => "EOT_EMERGENCY_ACCESS_KEY",
2546 Self::EotV2RecordKey => "EOT_V2_RECORD_KEY",
2547 }
2548 }
2549 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2551 match value {
2552 "EOT_UNSPECIFIED" => Some(Self::EotUnspecified),
2553 "EOT_RECORD_KEY" => Some(Self::EotRecordKey),
2554 "EOT_SHARED_FOLDER_USER_KEY" => Some(Self::EotSharedFolderUserKey),
2555 "EOT_SHARED_FOLDER_TEAM_KEY" => Some(Self::EotSharedFolderTeamKey),
2556 "EOT_TEAM_USER_KEY" => Some(Self::EotTeamUserKey),
2557 "EOT_USER_FOLDER_KEY" => Some(Self::EotUserFolderKey),
2558 "EOT_SECURITY_DATA" => Some(Self::EotSecurityData),
2559 "EOT_SECURITY_DATA_MASTER_PASSWORD" => Some(Self::EotSecurityDataMasterPassword),
2560 "EOT_EMERGENCY_ACCESS_KEY" => Some(Self::EotEmergencyAccessKey),
2561 "EOT_V2_RECORD_KEY" => Some(Self::EotV2RecordKey),
2562 _ => None,
2563 }
2564 }
2565}
2566#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2567#[repr(i32)]
2568pub enum MasterPasswordReentryStatus {
2569 MpUnknown = 0,
2570 MpSuccess = 1,
2571 MpFailure = 2,
2572}
2573impl MasterPasswordReentryStatus {
2574 pub fn as_str_name(&self) -> &'static str {
2579 match self {
2580 Self::MpUnknown => "MP_UNKNOWN",
2581 Self::MpSuccess => "MP_SUCCESS",
2582 Self::MpFailure => "MP_FAILURE",
2583 }
2584 }
2585 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2587 match value {
2588 "MP_UNKNOWN" => Some(Self::MpUnknown),
2589 "MP_SUCCESS" => Some(Self::MpSuccess),
2590 "MP_FAILURE" => Some(Self::MpFailure),
2591 _ => None,
2592 }
2593 }
2594}
2595#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2596#[repr(i32)]
2597pub enum AlternateAuthenticationType {
2598 AlternateMasterPassword = 0,
2599 Biometric = 1,
2600 AccountRecover = 2,
2601}
2602impl AlternateAuthenticationType {
2603 pub fn as_str_name(&self) -> &'static str {
2608 match self {
2609 Self::AlternateMasterPassword => "ALTERNATE_MASTER_PASSWORD",
2610 Self::Biometric => "BIOMETRIC",
2611 Self::AccountRecover => "ACCOUNT_RECOVER",
2612 }
2613 }
2614 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2616 match value {
2617 "ALTERNATE_MASTER_PASSWORD" => Some(Self::AlternateMasterPassword),
2618 "BIOMETRIC" => Some(Self::Biometric),
2619 "ACCOUNT_RECOVER" => Some(Self::AccountRecover),
2620 _ => None,
2621 }
2622 }
2623}
2624#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2625#[repr(i32)]
2626pub enum ThrottleType {
2627 PasswordRetryThrottle = 0,
2628 PasswordRetryLegacyThrottle = 1,
2629 TwoFaThrottle = 2,
2630 TwoFaLegacyThrottle = 3,
2631 QaRetryThrottle = 4,
2632 AccountRecoverThrottle = 5,
2633 ValidateDeviceVerificationCodeThrottle = 6,
2634 ValidateCreateUserVerificationCodeThrottle = 7,
2635}
2636impl ThrottleType {
2637 pub fn as_str_name(&self) -> &'static str {
2642 match self {
2643 Self::PasswordRetryThrottle => "PASSWORD_RETRY_THROTTLE",
2644 Self::PasswordRetryLegacyThrottle => "PASSWORD_RETRY_LEGACY_THROTTLE",
2645 Self::TwoFaThrottle => "TWO_FA_THROTTLE",
2646 Self::TwoFaLegacyThrottle => "TWO_FA_LEGACY_THROTTLE",
2647 Self::QaRetryThrottle => "QA_RETRY_THROTTLE",
2648 Self::AccountRecoverThrottle => "ACCOUNT_RECOVER_THROTTLE",
2649 Self::ValidateDeviceVerificationCodeThrottle => {
2650 "VALIDATE_DEVICE_VERIFICATION_CODE_THROTTLE"
2651 }
2652 Self::ValidateCreateUserVerificationCodeThrottle => {
2653 "VALIDATE_CREATE_USER_VERIFICATION_CODE_THROTTLE"
2654 }
2655 }
2656 }
2657 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2659 match value {
2660 "PASSWORD_RETRY_THROTTLE" => Some(Self::PasswordRetryThrottle),
2661 "PASSWORD_RETRY_LEGACY_THROTTLE" => Some(Self::PasswordRetryLegacyThrottle),
2662 "TWO_FA_THROTTLE" => Some(Self::TwoFaThrottle),
2663 "TWO_FA_LEGACY_THROTTLE" => Some(Self::TwoFaLegacyThrottle),
2664 "QA_RETRY_THROTTLE" => Some(Self::QaRetryThrottle),
2665 "ACCOUNT_RECOVER_THROTTLE" => Some(Self::AccountRecoverThrottle),
2666 "VALIDATE_DEVICE_VERIFICATION_CODE_THROTTLE" => {
2667 Some(Self::ValidateDeviceVerificationCodeThrottle)
2668 }
2669 "VALIDATE_CREATE_USER_VERIFICATION_CODE_THROTTLE" => {
2670 Some(Self::ValidateCreateUserVerificationCodeThrottle)
2671 }
2672 _ => None,
2673 }
2674 }
2675}
2676#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2677#[repr(i32)]
2678pub enum Region {
2679 Unknown = 0,
2680 Eu = 1,
2681 Us = 2,
2682 Usgov = 3,
2683 Au = 4,
2684 Jp = 5,
2685 Ca = 6,
2686}
2687impl Region {
2688 pub fn as_str_name(&self) -> &'static str {
2693 match self {
2694 Self::Unknown => "UNKNOWN",
2695 Self::Eu => "eu",
2696 Self::Us => "us",
2697 Self::Usgov => "usgov",
2698 Self::Au => "au",
2699 Self::Jp => "jp",
2700 Self::Ca => "ca",
2701 }
2702 }
2703 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2705 match value {
2706 "UNKNOWN" => Some(Self::Unknown),
2707 "eu" => Some(Self::Eu),
2708 "us" => Some(Self::Us),
2709 "usgov" => Some(Self::Usgov),
2710 "au" => Some(Self::Au),
2711 "jp" => Some(Self::Jp),
2712 "ca" => Some(Self::Ca),
2713 _ => None,
2714 }
2715 }
2716}
2717#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2718#[repr(i32)]
2719pub enum ApplicationShareType {
2720 ShareTypeRecord = 0,
2721 ShareTypeFolder = 1,
2722}
2723impl ApplicationShareType {
2724 pub fn as_str_name(&self) -> &'static str {
2729 match self {
2730 Self::ShareTypeRecord => "SHARE_TYPE_RECORD",
2731 Self::ShareTypeFolder => "SHARE_TYPE_FOLDER",
2732 }
2733 }
2734 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2736 match value {
2737 "SHARE_TYPE_RECORD" => Some(Self::ShareTypeRecord),
2738 "SHARE_TYPE_FOLDER" => Some(Self::ShareTypeFolder),
2739 _ => None,
2740 }
2741 }
2742}
2743#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2744#[repr(i32)]
2745pub enum TimeLimitedAccessType {
2746 InvalidTimeLimitedAccessType = 0,
2747 UserAccessToRecord = 1,
2748 UserOrTeamAccessToSharedfolder = 2,
2749 RecordAccessToSharedfolder = 3,
2750}
2751impl TimeLimitedAccessType {
2752 pub fn as_str_name(&self) -> &'static str {
2757 match self {
2758 Self::InvalidTimeLimitedAccessType => "INVALID_TIME_LIMITED_ACCESS_TYPE",
2759 Self::UserAccessToRecord => "USER_ACCESS_TO_RECORD",
2760 Self::UserOrTeamAccessToSharedfolder => "USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER",
2761 Self::RecordAccessToSharedfolder => "RECORD_ACCESS_TO_SHAREDFOLDER",
2762 }
2763 }
2764 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2766 match value {
2767 "INVALID_TIME_LIMITED_ACCESS_TYPE" => Some(Self::InvalidTimeLimitedAccessType),
2768 "USER_ACCESS_TO_RECORD" => Some(Self::UserAccessToRecord),
2769 "USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER" => Some(Self::UserOrTeamAccessToSharedfolder),
2770 "RECORD_ACCESS_TO_SHAREDFOLDER" => Some(Self::RecordAccessToSharedfolder),
2771 _ => None,
2772 }
2773 }
2774}
2775#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2776#[repr(i32)]
2777pub enum BackupKeyType {
2778 BktSecAnswer = 0,
2779 BktPassphraseHash = 1,
2780}
2781impl BackupKeyType {
2782 pub fn as_str_name(&self) -> &'static str {
2787 match self {
2788 Self::BktSecAnswer => "BKT_SEC_ANSWER",
2789 Self::BktPassphraseHash => "BKT_PASSPHRASE_HASH",
2790 }
2791 }
2792 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2794 match value {
2795 "BKT_SEC_ANSWER" => Some(Self::BktSecAnswer),
2796 "BKT_PASSPHRASE_HASH" => Some(Self::BktPassphraseHash),
2797 _ => None,
2798 }
2799 }
2800}
2801#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2802#[repr(i32)]
2803pub enum GenericStatus {
2804 Success = 0,
2805 InvalidObject = 1,
2806 AlreadyExists = 2,
2807 AccessDenied = 3,
2808}
2809impl GenericStatus {
2810 pub fn as_str_name(&self) -> &'static str {
2815 match self {
2816 Self::Success => "SUCCESS",
2817 Self::InvalidObject => "INVALID_OBJECT",
2818 Self::AlreadyExists => "ALREADY_EXISTS",
2819 Self::AccessDenied => "ACCESS_DENIED",
2820 }
2821 }
2822 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2824 match value {
2825 "SUCCESS" => Some(Self::Success),
2826 "INVALID_OBJECT" => Some(Self::InvalidObject),
2827 "ALREADY_EXISTS" => Some(Self::AlreadyExists),
2828 "ACCESS_DENIED" => Some(Self::AccessDenied),
2829 _ => None,
2830 }
2831 }
2832}
2833#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2834#[repr(i32)]
2835pub enum AuthenticatorAttachment {
2836 CrossPlatform = 0,
2837 Platform = 1,
2838 AllSupported = 2,
2839}
2840impl AuthenticatorAttachment {
2841 pub fn as_str_name(&self) -> &'static str {
2846 match self {
2847 Self::CrossPlatform => "CROSS_PLATFORM",
2848 Self::Platform => "PLATFORM",
2849 Self::AllSupported => "ALL_SUPPORTED",
2850 }
2851 }
2852 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2854 match value {
2855 "CROSS_PLATFORM" => Some(Self::CrossPlatform),
2856 "PLATFORM" => Some(Self::Platform),
2857 "ALL_SUPPORTED" => Some(Self::AllSupported),
2858 _ => None,
2859 }
2860 }
2861}
2862#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2863#[repr(i32)]
2864pub enum PasskeyPurpose {
2865 PkLogin = 0,
2866 PkReauth = 1,
2867}
2868impl PasskeyPurpose {
2869 pub fn as_str_name(&self) -> &'static str {
2874 match self {
2875 Self::PkLogin => "PK_LOGIN",
2876 Self::PkReauth => "PK_REAUTH",
2877 }
2878 }
2879 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2881 match value {
2882 "PK_LOGIN" => Some(Self::PkLogin),
2883 "PK_REAUTH" => Some(Self::PkReauth),
2884 _ => None,
2885 }
2886 }
2887}
2888#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2889#[repr(i32)]
2890pub enum ClientFormFactor {
2891 FfEmpty = 0,
2892 FfPhone = 1,
2893 FfTablet = 2,
2894 FfWatch = 3,
2895}
2896impl ClientFormFactor {
2897 pub fn as_str_name(&self) -> &'static str {
2902 match self {
2903 Self::FfEmpty => "FF_EMPTY",
2904 Self::FfPhone => "FF_PHONE",
2905 Self::FfTablet => "FF_TABLET",
2906 Self::FfWatch => "FF_WATCH",
2907 }
2908 }
2909 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2911 match value {
2912 "FF_EMPTY" => Some(Self::FfEmpty),
2913 "FF_PHONE" => Some(Self::FfPhone),
2914 "FF_TABLET" => Some(Self::FfTablet),
2915 "FF_WATCH" => Some(Self::FfWatch),
2916 _ => None,
2917 }
2918 }
2919}