From 6633e949923549eb3fdabd94cc72e6a70dfc9b7b Mon Sep 17 00:00:00 2001 From: Manan Tyagi Date: Tue, 14 Jul 2026 13:40:20 +0530 Subject: [PATCH 1/6] added nsf support for ksm and pam list --- .../src/keepercli/commands/pam/pam_config.py | 194 +++++++++-- .../src/keepercli/commands/secrets_manager.py | 3 +- .../src/keepercli/helpers/ksm_utils.py | 1 + .../src/keepersdk/vault/ksm_management.py | 308 ++++++++++++++---- .../src/keepersdk/vault/nsf_sharing.py | 139 +++++++- .../unit_tests/test_ksm_management.py | 82 ++++- 6 files changed, 625 insertions(+), 102 deletions(-) diff --git a/keepercli-package/src/keepercli/commands/pam/pam_config.py b/keepercli-package/src/keepercli/commands/pam/pam_config.py index 4bacc2e4..546efc26 100644 --- a/keepercli-package/src/keepercli/commands/pam/pam_config.py +++ b/keepercli-package/src/keepercli/commands/pam/pam_config.py @@ -12,7 +12,7 @@ from keepersdk import utils from keepersdk.proto import pam_pb2, record_pb2 from keepersdk.helpers import config_utils -from keepersdk.vault import vault_online, vault_utils, vault_record, record_management +from keepersdk.vault import vault_online, vault_utils, vault_record, record_management, nsf_management from keepersdk.helpers.pam_config_facade import PamConfigurationRecordFacade from keepersdk.helpers.tunnel.tunnel_graph import TunnelDAG, TriStateSetting, tunnel_utils from keepersdk.helpers.keeper_dag import dag_utils @@ -23,6 +23,17 @@ logger = api.get_logger() +class _PamFolderRef: + """Minimal folder info for list display (classic Folder/SharedFolder or NSF).""" + + __slots__ = ('name', 'folder_uid', 'shared_folder_uid') + + def __init__(self, name: str, uid: str): + self.name = name or uid + self.folder_uid = uid + self.shared_folder_uid = uid + + class PAMConfigListCommand(base.ArgparseCommand): def __init__(self): @@ -78,19 +89,20 @@ def _list_single_configuration(self, vault: vault_online.VaultOnline, config_uid if format_type == 'json' and isinstance(configuration, str): return configuration facade = self._create_facade(configuration) - shared_folder = self._load_shared_folder(vault, facade.folder_uid) - + shared_folder = self._load_folder_for_configuration(vault, configuration, facade) + if format_type == 'json': return self._format_single_config_json(configuration, facade, shared_folder) else: self._format_single_config_table(configuration, facade, shared_folder) def _list_all_configurations(self, vault: vault_online.VaultOnline, is_verbose: bool, format_type: str): - """Lists all PAM configurations.""" + """Lists all PAM configurations (classic shared folders and NSF / Keeper Drive).""" configs_data = [] table = [] headers = self._build_list_headers(is_verbose, format_type) - + seen_uids = set() + for config_record in self._find_pam_configurations(vault): full_record = vault.vault_data.load_record(config_record.record_uid) if not full_record or not isinstance(full_record, vault_record.TypedRecord): @@ -100,35 +112,53 @@ def _list_all_configurations(self, vault: vault_online.VaultOnline, is_verbose: continue facade = self._create_facade(full_record) - shared_folder_parents = vault_utils.get_folders_for_record(vault.vault_data, config_record.record_uid) - - if not shared_folder_parents: - logger.warning(f'Following configuration is not in the shared folder: UID: %s, Title: %s', - config_record.record_uid, config_record.title) + shared_folder = self._load_folder_for_configuration(vault, full_record, facade) + if not shared_folder: + logger.warning( + 'Following configuration is not in a shared folder or NSF folder: UID: %s, Title: %s', + config_record.record_uid, config_record.title) continue - shared_folder = shared_folder_parents[0] - + seen_uids.add(config_record.record_uid) + if format_type == 'json': + configs_data.append( + self._build_config_json_data(config_record, facade, shared_folder, full_record, is_verbose)) + else: + table.append( + self._build_config_table_row(config_record, facade, shared_folder, full_record, is_verbose)) + + for full_record in self._find_nsf_pam_configurations(vault): + if full_record.record_uid in seen_uids: + continue + facade = self._create_facade(full_record) + shared_folder = self._load_folder_for_configuration(vault, full_record, facade) + if not shared_folder: + logger.warning( + 'Following NSF configuration is not in an NSF folder: UID: %s, Title: %s', + full_record.record_uid, full_record.title) + continue if format_type == 'json': - config_data = self._build_config_json_data(config_record, facade, shared_folder, full_record, is_verbose) - configs_data.append(config_data) + configs_data.append( + self._build_config_json_data(full_record, facade, shared_folder, full_record, is_verbose)) else: - row = self._build_config_table_row(config_record, facade, shared_folder, full_record, is_verbose) - table.append(row) + table.append( + self._build_config_table_row(full_record, facade, shared_folder, full_record, is_verbose)) return self._format_output(configs_data, table, headers, format_type) def _load_and_validate_configuration(self, vault: vault_online.VaultOnline, config_uid: str, format_type: str): - """Loads and validates a PAM configuration record.""" + """Loads and validates a PAM configuration record (classic v6 or NSF).""" info = vault.vault_data.get_record(config_uid) - if not info or info.version != 6 or info.record_type not in PAM_CONFIGURATIONS: - return self._handle_error(format_type, f'Configuration {config_uid} not found') + if info and info.version == 6 and info.record_type in PAM_CONFIGURATIONS: + configuration = vault.vault_data.load_record(config_uid) + if configuration and isinstance(configuration, vault_record.TypedRecord): + return configuration - configuration = vault.vault_data.load_record(config_uid) - if not configuration or not isinstance(configuration, vault_record.TypedRecord): - return self._handle_error(format_type, f'Configuration {config_uid} not found') + nsf_record = self._load_nsf_pam_configuration(vault, config_uid) + if nsf_record: + return nsf_record - return configuration + return self._handle_error(format_type, f'Configuration {config_uid} not found') def _handle_error(self, format_type: str, error_message: str): """Handles errors based on output format.""" @@ -149,8 +179,101 @@ def _load_shared_folder(self, vault: vault_online.VaultOnline, folder_uid: str): return vault.vault_data.load_shared_folder(folder_uid) return None + def _load_folder_for_configuration(self, vault: vault_online.VaultOnline, configuration, facade): + """Resolve classic shared folder or NSF parent folder for display.""" + folder_uid = getattr(facade, 'folder_uid', None) or '' + shared = self._load_shared_folder(vault, folder_uid) + if shared: + return shared + + parents = vault_utils.get_folders_for_record(vault.vault_data, configuration.record_uid) + if parents: + parent = parents[0] + return _PamFolderRef(parent.name, parent.folder_uid) + + return self._resolve_nsf_folder(vault, configuration.record_uid, folder_uid) + + def _resolve_nsf_folder(self, vault: vault_online.VaultOnline, record_uid: str, preferred_folder_uid: str = ''): + """Build folder display info from NSF cache.""" + if not vault.nsf_data: + return None + try: + folder_uids = [] + if preferred_folder_uid and nsf_management.is_nsf_folder(vault, preferred_folder_uid): + folder_uids = [preferred_folder_uid] + if not folder_uids: + folder_uids = nsf_management.find_nsf_folders_for_record(vault, record_uid) + if not folder_uids: + return None + folder_uid = folder_uids[0] + if folder_uid == nsf_management.ROOT_FOLDER_UID: + return _PamFolderRef('My Drive', folder_uid) + folder = vault.nsf_data.get_folder(folder_uid) + name = (folder.name if folder and folder.name else None) or folder_uid + return _PamFolderRef(name, folder_uid) + except nsf_management.NsfError: + return None + + def _load_nsf_typed_record(self, vault: vault_online.VaultOnline, record_uid: str): + """Load an NSF record as a TypedRecord from decrypted cache metadata.""" + if not vault.nsf_data or not vault.nsf_data.get_record(record_uid): + return None + try: + meta = nsf_management.load_nsf_record_metadata(vault, record_uid) + except nsf_management.NsfError: + return None + typed = vault_record.TypedRecord() + typed.record_uid = record_uid + typed.load_record_data({ + 'type': meta.get('type') or '', + 'title': meta.get('title') or record_uid, + 'notes': meta.get('notes') or '', + 'fields': meta.get('fields') or [], + }) + return typed + + def _load_nsf_pam_configuration(self, vault: vault_online.VaultOnline, identifier: str): + """Load a PAM configuration from NSF by UID or exact title.""" + if not vault.nsf_data or not identifier: + return None + record_uid = identifier + if not vault.nsf_data.get_record(record_uid): + try: + record_uid = nsf_management.resolve_nsf_record_uid(vault, identifier) + except nsf_management.NsfError: + record_uid = None + if not record_uid: + return None + typed = self._load_nsf_typed_record(vault, record_uid) + if typed and typed.record_type in PAM_CONFIGURATIONS: + return typed + return None + + def _find_nsf_pam_configurations(self, vault: vault_online.VaultOnline): + """Yield TypedRecord PAM configs stored under NSF / Keeper Drive.""" + if not vault.nsf_data: + return + for entry in vault.nsf_data.records(): + rec_type = '' + if entry.decrypted_data: + try: + payload = json.loads(entry.decrypted_data) + if isinstance(payload, dict): + rec_type = str(payload.get('type') or '') + except json.JSONDecodeError: + pass + if rec_type and rec_type not in PAM_CONFIGURATIONS: + if 'Configuration' in rec_type: + logger.warning( + 'Following NSF configuration has unsupported type: UID: %s, Type: %s', + entry.record_uid, rec_type) + continue + typed = self._load_nsf_typed_record(vault, entry.record_uid) + if typed and typed.record_type in PAM_CONFIGURATIONS: + yield typed + def _find_pam_configurations(self, vault: vault_online.VaultOnline): - """Finds all PAM configuration records.""" + """Finds all classic vault PAM configuration records (version 6).""" for record in vault.vault_data.find_records(criteria='', record_type=None, record_version=6): if record.record_type in PAM_CONFIGURATIONS: yield record @@ -213,13 +336,14 @@ def _extract_config_fields(self, record, is_verbose: bool): def _build_config_json_data(self, config_record, facade, shared_folder, full_record, is_verbose: bool): """Builds JSON data structure for a configuration.""" + folder_uid = self._folder_uid(shared_folder) config_data = { "uid": config_record.record_uid, "config_name": config_record.title, "config_type": config_record.record_type, "shared_folder": { - "name": shared_folder.name, - "uid": shared_folder.folder_uid + "name": shared_folder.name if shared_folder else None, + "uid": folder_uid }, "gateway_uid": facade.controller_uid, "resource_record_uids": facade.resource_ref @@ -232,11 +356,15 @@ def _build_config_json_data(self, config_record, facade, shared_folder, full_rec def _build_config_table_row(self, config_record, facade, shared_folder, full_record, is_verbose: bool): """Builds a table row for a configuration.""" + folder_uid = self._folder_uid(shared_folder) + folder_label = '' + if shared_folder: + folder_label = f'{shared_folder.name} ({folder_uid})' row = [ config_record.record_uid, config_record.title, config_record.record_type, - f'{shared_folder.name} ({shared_folder.folder_uid})', + folder_label, facade.controller_uid, facade.resource_ref ] @@ -247,6 +375,12 @@ def _build_config_table_row(self, config_record, facade, shared_folder, full_rec return row + @staticmethod + def _folder_uid(folder) -> str: + if not folder: + return '' + return getattr(folder, 'folder_uid', None) or getattr(folder, 'shared_folder_uid', None) or '' + def _format_output(self, configs_data, table, headers, format_type: str): """Formats and outputs the final result.""" if format_type == 'json': @@ -258,13 +392,14 @@ def _format_output(self, configs_data, table, headers, format_type: str): def _format_single_config_json(self, configuration, facade, shared_folder): """Formats a single configuration as JSON.""" + folder_uid = self._folder_uid(shared_folder) config_data = { "uid": configuration.record_uid, "name": configuration.title, "config_type": configuration.record_type, "shared_folder": { "name": shared_folder.name if shared_folder else None, - "uid": shared_folder.shared_folder_uid if shared_folder else None + "uid": folder_uid } if shared_folder else None, "gateway_uid": facade.controller_uid, "resource_record_uids": facade.resource_ref, @@ -291,11 +426,12 @@ def _format_single_config_table(self, configuration, facade, shared_folder): """Formats a single configuration as a table.""" table = [] header = ['name', 'value'] + folder_uid = self._folder_uid(shared_folder) table.append(['UID', configuration.record_uid]) table.append(['Name', configuration.title]) table.append(['Config Type', configuration.record_type]) - table.append(['Shared Folder', f'{shared_folder.name} ({shared_folder.shared_folder_uid})' if shared_folder else '']) + table.append(['Shared Folder', f'{shared_folder.name} ({folder_uid})' if shared_folder else '']) table.append(['Gateway UID', facade.controller_uid]) table.append(['Resource Record UIDs', facade.resource_ref]) diff --git a/keepercli-package/src/keepercli/commands/secrets_manager.py b/keepercli-package/src/keepercli/commands/secrets_manager.py index 6d7d0771..6261c9fa 100644 --- a/keepercli-package/src/keepercli/commands/secrets_manager.py +++ b/keepercli-package/src/keepercli/commands/secrets_manager.py @@ -531,7 +531,8 @@ def add_arguments_to_parser(parser: argparse.ArgumentParser) -> None: ) parser.add_argument( '--secret', '-s', type=str, required=False, - help='Record UID(s) - space separated (e.g., "uid1 uid2 uid3")' + help='Record/folder UID(s) or NSF folder/record name — space separated ' + '(classic records, classic shared folders, NSF folders, NSF records)' ) def execute(self, context: KeeperParams, **kwargs) -> None: diff --git a/keepercli-package/src/keepercli/helpers/ksm_utils.py b/keepercli-package/src/keepercli/helpers/ksm_utils.py index 56640cac..57d1f9ae 100644 --- a/keepercli-package/src/keepercli/helpers/ksm_utils.py +++ b/keepercli-package/src/keepercli/helpers/ksm_utils.py @@ -26,5 +26,6 @@ def print_shared_secrets_info(shared_secrets: List[ksm.SharedSecretsInfo]) -> No rows = [ [secrets.type, secrets.uid, secrets.name, secrets.permissions] for secrets in shared_secrets + if secrets is not None ] report_utils.dump_report_data(rows, shares_table_fields, fmt='table') \ No newline at end of file diff --git a/keepersdk-package/src/keepersdk/vault/ksm_management.py b/keepersdk-package/src/keepersdk/vault/ksm_management.py index 566a0573..587660b1 100644 --- a/keepersdk-package/src/keepersdk/vault/ksm_management.py +++ b/keepersdk-package/src/keepersdk/vault/ksm_management.py @@ -8,6 +8,8 @@ from urllib import parse from . import ksm, record_management, shares_management, share_management_utils, vault_online, vault_record, vault_types +from . import nsf_management, nsf_sharing, vault_extensions +from .nsf_management import NsfError from .. import utils, crypto, constants from ..enterprise import enterprise_data from ..proto.APIRequest_pb2 import ( @@ -16,10 +18,13 @@ AppShareAdd, AddAppSharesRequest, RemoveAppSharesRequest ) from ..errors import KeeperApiError -from ..proto.enterprise_pb2 import GENERAL +from ..proto.enterprise_pb2 import ( + GENERAL, + DISCOVERY_AND_ROTATION_CONTROLLER, + KCM_CONTROLLER, +) from ..proto import record_pb2 from ..proto.record_pb2 import ApplicationAddRequest, RecordUpdate, RecordsUpdateRequest -from . import vault_extensions URL_GET_SUMMARY_API = 'vault/get_applications_summary' URL_GET_APP_INFO_API = 'vault/get_app_info' @@ -34,6 +39,13 @@ CLIENT_SHORT_ID_LENGTH = 8 +# Client types shown by secrets-manager-app get (GENERAL KSM + PAM/KCM gateways). +_DISPLAY_APP_CLIENT_TYPES = frozenset({ + GENERAL, + DISCOVERY_AND_ROTATION_CONTROLLER, + KCM_CONTROLLER, +}) + MILLISECONDS_PER_SECOND = 1000 CLIENT_ID_COUNTER_BYTES = b'KEEPER_SECRETS_MANAGER_CLIENT_ID' @@ -78,7 +90,9 @@ def get_secrets_manager_app(vault: vault_online.VaultOnline, uid_or_name: str) - raise ValueError('No Secrets Manager Applications returned.') app_info = app_infos[0] - client_devices = [x for x in app_info.clients if x.appClientType == GENERAL] + client_devices = [ + x for x in app_info.clients if x.appClientType in _DISPLAY_APP_CLIENT_TYPES + ] client_list = [] for c in client_devices: client_id = utils.base64_url_encode(c.clientId) @@ -97,13 +111,18 @@ def get_secrets_manager_app(vault: vault_online.VaultOnline, uid_or_name: str) - shared_secrets = [] for share in getattr(app_info, 'shares', []): - shared_secrets.append(handle_share_type(share, ksm_app, vault)) + info = handle_share_type(share, ksm_app, vault) + if info is not None: + shared_secrets.append(info) records_count = len([ s for s in getattr(app_info, 'shares', []) if ApplicationShareType.Name(s.shareType) == 'SHARE_TYPE_RECORD' ]) - folders_count = len(shared_secrets) - records_count + folders_count = len([ + s for s in getattr(app_info, 'shares', []) + if ApplicationShareType.Name(s.shareType) == 'SHARE_TYPE_FOLDER' + ]) return ksm.SecretsManagerApp( name=ksm_app.title, @@ -298,26 +317,32 @@ def _get_app_user_permissions(vault: vault_online.VaultOnline, uid: str) -> List def _separate_shared_items(vault: vault_online.VaultOnline, shared_secrets): - """Separate shared secrets into records and folders.""" + """Separate shared secrets into classic records and shared folders. + + NSF folder/record shares are skipped here: cascading user-permission + updates use classic share APIs that do not apply to NSF. + """ shared_recs = [] shared_folders = [] - + for share in shared_secrets: uid_str = utils.base64_url_encode(share.secretUid) share_type = ApplicationShareType.Name(share.shareType) - - if share_type == ApplicationShareType.SHARE_TYPE_RECORD: - shared_recs.append(uid_str) - elif share_type == ApplicationShareType.SHARE_TYPE_FOLDER: - shared_folders.append(uid_str) - + + if share_type == 'SHARE_TYPE_RECORD': + if uid_str in vault.vault_data._records: + shared_recs.append(uid_str) + elif share_type == 'SHARE_TYPE_FOLDER': + if uid_str in vault.vault_data._shared_folders: + shared_folders.append(uid_str) + if shared_recs: share_management_utils.get_record_shares( - vault=vault, - record_uids=shared_recs, + vault=vault, + record_uids=shared_recs, is_share_admin=False ) - + return shared_recs, shared_folders @@ -561,15 +586,28 @@ def handle_share_type(share, ksm_app, vault: vault_online.VaultOnline): editable_status = share.editable if share_type == 'SHARE_TYPE_RECORD': - return ksm.SharedSecretsInfo(type='RECORD', uid=uid_str, name=ksm_app.title, permissions=editable_status) - - elif share_type == 'SHARE_TYPE_FOLDER': - cached_sf = next((f for f in vault.vault_data.folders() if f.folder_uid == uid_str), None) - if cached_sf: - return ksm.SharedSecretsInfo(type='FOLDER', uid=uid_str, name=cached_sf.name, permissions=editable_status) - - else: - return None + return ksm.SharedSecretsInfo( + type='RECORD', uid=uid_str, name=ksm_app.title, permissions=editable_status + ) + + if share_type == 'SHARE_TYPE_FOLDER': + folder_name = uid_str + cached_sf = next( + (f for f in vault.vault_data.folders() if f.folder_uid == uid_str), None + ) + if cached_sf is not None: + folder_name = cached_sf.name or uid_str + else: + nsf = vault.nsf_data + if nsf is not None: + nsf_folder = nsf.get_folder(uid_str) + if nsf_folder is not None: + folder_name = nsf_folder.name or uid_str + return ksm.SharedSecretsInfo( + type='FOLDER', uid=uid_str, name=folder_name, permissions=editable_status + ) + + return None class KSMClientManagement: @@ -822,25 +860,80 @@ class KSMShareManagement: @staticmethod def add_secrets_to_ksm_app(vault: vault_online.VaultOnline, enterprise:enterprise_data.EnterpriseData, app_uid: str, master_key: bytes, secret_uids: List[str], is_editable: bool = False) -> List: - """Share secrets with a KSM application.""" + """Share secrets with a KSM application. - app_shares, added_secret_info = KSMShareManagement._process_all_secrets( - vault, secret_uids, master_key, is_editable - ) + Classic records/shared folders use vault/app_share_add. + NSF (Keeper Drive) folders use folders/v3/access_update with AT_APPLICATION. + """ + app_shares = [] + added_secret_info = [] + nsf_folder_uids = [] + + for secret_uid in secret_uids: + kind = KSMShareManagement._classify_secret(vault, secret_uid) + if kind is None: + KSMShareManagement._log_invalid_secret_warning(secret_uid) + continue + + channel, resolved_uid, type_label = kind + if channel == 'nsf_folder': + nsf_sharing.grant_nsf_folder_to_application( + vault, resolved_uid, app_uid, + is_editable=is_editable, request_sync=False) + added_secret_info.append((resolved_uid, type_label)) + nsf_folder_uids.append(resolved_uid) + continue + + share_info = KSMShareManagement._process_secret( + vault, resolved_uid, master_key, is_editable + ) + if share_info: + app_shares.append(share_info['app_share']) + added_secret_info.append(share_info['secret_info']) if not added_secret_info: raise ValueError("No valid secrets found to share.") - KSMShareManagement._send_share_request( - vault, app_uid, app_shares - ) + if app_shares: + KSMShareManagement._send_share_request(vault, app_uid, app_shares) vault.sync_down() - _update_shares_user_permissions(vault, enterprise, app_uid, removed=False) + if app_shares: + _update_shares_user_permissions(vault, enterprise, app_uid, removed=False) return added_secret_info + @staticmethod + def _classify_secret( + vault: vault_online.VaultOnline, secret_uid: str + ) -> Optional[Tuple[str, str, str]]: + """Return (channel, resolved_uid, type_label) or None. + + channel is one of: 'classic', 'nsf_folder', 'nsf_record'. + """ + if secret_uid in vault.vault_data._records: + return 'classic', secret_uid, 'Record' + if secret_uid in vault.vault_data._shared_folders: + return 'classic', secret_uid, 'Shared Folder' + + if vault.nsf_data is None: + return None + + folder_uid = nsf_management.resolve_nsf_folder_uid(vault, secret_uid) + if folder_uid is None and vault.nsf_data.get_folder(secret_uid) is not None: + folder_uid = secret_uid + if folder_uid: + return 'nsf_folder', folder_uid, 'NSF Folder' + + record_uid = nsf_management.resolve_nsf_record_uid(vault, secret_uid) + if record_uid is None and vault.nsf_data.get_record(secret_uid) is not None: + record_uid = secret_uid + if record_uid: + return 'nsf_record', record_uid, 'NSF Record' + + return None + @staticmethod def _process_all_secrets(vault: vault_online.VaultOnline, secret_uids: List[str], master_key: bytes, is_editable: bool) -> Tuple[List, List]: @@ -862,41 +955,84 @@ def _process_all_secrets(vault: vault_online.VaultOnline, secret_uids: List[str] @staticmethod def _process_secret(vault: vault_online.VaultOnline, secret_uid: str, master_key: bytes, is_editable: bool) -> Optional[Dict]: - """Process a single secret and create share request.""" + """Process a single classic/NSF-record secret into an app_share_add payload.""" secret_info = KSMShareManagement._get_secret_info(vault, secret_uid) if not secret_info: return None - share_key_decrypted, share_type, secret_type_name = secret_info + share_key_decrypted, share_type, secret_type_name, resolved_uid = secret_info if not share_key_decrypted: logging.warning(f"Could not retrieve key for secret {secret_uid}") return None app_share = KSMShareManagement._build_app_share( - secret_uid, share_key_decrypted, master_key, share_type, is_editable + resolved_uid, share_key_decrypted, master_key, share_type, is_editable ) return { 'app_share': app_share, - 'secret_info': (secret_uid, secret_type_name) + 'secret_info': (resolved_uid, secret_type_name) } @staticmethod def _get_secret_info(vault: vault_online.VaultOnline, secret_uid: str) -> Optional[Tuple]: - """Get secret information (key, type, name) for a given UID.""" + """Resolve secret key/type for classic or NSF record UID (or NSF name). + + NSF folders are not handled here — they use AT_APPLICATION access_update. + Returns (share_key, share_type, type_label, resolved_uid) or None. + """ is_record = secret_uid in vault.vault_data._records is_shared_folder = secret_uid in vault.vault_data._shared_folders if is_record: - return KSMShareManagement._get_record_secret_info(vault, secret_uid) - elif is_shared_folder: - return KSMShareManagement._get_folder_secret_info(vault, secret_uid) - else: - KSMShareManagement._log_invalid_secret_warning(secret_uid) + info = KSMShareManagement._get_record_secret_info(vault, secret_uid) + return (*info, secret_uid) if info else None + if is_shared_folder: + info = KSMShareManagement._get_folder_secret_info(vault, secret_uid) + return (*info, secret_uid) + + nsf_info = KSMShareManagement._get_nsf_record_secret_info(vault, secret_uid) + if nsf_info: + return nsf_info + + KSMShareManagement._log_invalid_secret_warning(secret_uid) + return None + + @staticmethod + def _get_nsf_record_secret_info( + vault: vault_online.VaultOnline, secret_uid: str + ) -> Optional[Tuple]: + """Resolve an NSF record (by UID or exact name) for app_share_add.""" + if vault.nsf_data is None: return None + # Skip NSF folders here — those must use AT_APPLICATION. + folder_uid = nsf_management.resolve_nsf_folder_uid(vault, secret_uid) + if folder_uid is None and vault.nsf_data.get_folder(secret_uid) is not None: + folder_uid = secret_uid + if folder_uid: + return None + + record_uid = nsf_management.resolve_nsf_record_uid(vault, secret_uid) + if record_uid is None and vault.nsf_data.get_record(secret_uid) is not None: + record_uid = secret_uid + if not record_uid: + return None + + try: + record_key = nsf_management._get_record_key(vault, record_uid) + except NsfError as e: + logging.warning('Could not resolve NSF record key for %s: %s', secret_uid, e) + return None + return ( + record_key, + ApplicationShareType.SHARE_TYPE_RECORD, + 'NSF Record', + record_uid, + ) + @staticmethod def _get_record_secret_info(vault: vault_online.VaultOnline, secret_uid: str) -> Optional[Tuple]: """Get secret info for a record.""" @@ -923,8 +1059,10 @@ def _get_folder_secret_info(vault: vault_online.VaultOnline, secret_uid: str) -> def _log_invalid_secret_warning(secret_uid: str) -> None: """Log warning for invalid secret UID.""" logging.warning( - f"UID='{secret_uid}' is not a Record nor Shared Folder. " - "Only individual records or Shared Folders can be added to the application. " + "UID='%s' is not a classic/NSF record or folder. " + "Share individual records, classic Shared Folders, or NSF folders/records. " + "Run sync-down (or sync-down --force) and try again.", + secret_uid, ) @staticmethod @@ -958,16 +1096,29 @@ def _build_share_request(app_uid: str, app_shares: List) -> AddAppSharesRequest: @staticmethod def remove_secrets_from_ksm_app(vault: vault_online.VaultOnline, app_uid: str, secret_uids: List[str]) -> None: - """Send remove share request to server.""" - request = RemoveAppSharesRequest() - request.appRecordUid = utils.base64_url_decode(app_uid) - request.shares.extend(utils.base64_url_decode(uid) for uid in secret_uids) - vault.keeper_auth.execute_auth_rest(rest_endpoint=SHARE_REMOVE_URL, request=request) + """Remove classic app shares and/or NSF AT_APPLICATION folder access.""" + classic_uids = [] + for uid in secret_uids: + kind = KSMShareManagement._classify_secret(vault, uid) + if kind and kind[0] == 'nsf_folder': + nsf_sharing.revoke_nsf_folder_from_application( + vault, kind[1], app_uid, request_sync=False) + else: + classic_uids.append(uid) + + if classic_uids: + request = RemoveAppSharesRequest() + request.appRecordUid = utils.base64_url_decode(app_uid) + request.shares.extend(utils.base64_url_decode(uid) for uid in classic_uids) + vault.keeper_auth.execute_auth_rest( + rest_endpoint=SHARE_REMOVE_URL, request=request) + + vault.sync_down() @staticmethod def update_secrets_in_ksm_app(vault: vault_online.VaultOnline, app_uid: str, secret_uids: List[str], is_editable: bool) -> List[str]: - """Update editable vs read-only on secrets already shared with the app (remove + re-add).""" + """Update editable vs read-only on secrets already shared with the app.""" if not secret_uids: raise ValueError('At least one secret UID is required') @@ -984,8 +1135,19 @@ def update_secrets_in_ksm_app(vault: vault_online.VaultOnline, app_uid: str, sec for share in getattr(app_infos[0], 'shares', []) } - uids_to_update = [] + updated_uids = [] + classic_uids_to_readd = [] + for uid in secret_uids: + kind = KSMShareManagement._classify_secret(vault, uid) + if kind and kind[0] == 'nsf_folder': + folder_uid = kind[1] + nsf_sharing.update_nsf_folder_application_access( + vault, folder_uid, app_uid, + is_editable=is_editable, request_sync=False) + updated_uids.append(folder_uid) + continue + if uid not in existing_shares: logging.warning( 'Secret "%s" is not currently shared with this application. ' @@ -996,23 +1158,33 @@ def update_secrets_in_ksm_app(vault: vault_online.VaultOnline, app_uid: str, sec perm = 'editable' if is_editable else 'read-only' logging.info('Secret "%s" is already %s. No change needed.', uid, perm) continue - uids_to_update.append(uid) - - if not uids_to_update: + classic_uids_to_readd.append(uid) + + if classic_uids_to_readd: + request = RemoveAppSharesRequest() + request.appRecordUid = utils.base64_url_decode(app_uid) + request.shares.extend( + utils.base64_url_decode(uid) for uid in classic_uids_to_readd) + vault.keeper_auth.execute_auth_rest( + rest_endpoint=SHARE_REMOVE_URL, request=request) + + app_shares = [] + for uid in classic_uids_to_readd: + share_info = KSMShareManagement._process_secret( + vault, uid, master_key, is_editable) + if share_info: + app_shares.append(share_info['app_share']) + updated_uids.append(uid) + + if not app_shares and not updated_uids: + raise ValueError( + 'No valid secrets found to update. Run sync-down and try again.') + if app_shares: + KSMShareManagement._send_share_request(vault, app_uid, app_shares) + + if not updated_uids: logging.warning('No share permissions to update.') return [] - KSMShareManagement.remove_secrets_from_ksm_app(vault, app_uid, uids_to_update) - - app_shares = [] - for uid in uids_to_update: - share_info = KSMShareManagement._process_secret(vault, uid, master_key, is_editable) - if share_info: - app_shares.append(share_info['app_share']) - - if not app_shares: - raise ValueError('No valid secrets found to update. Run sync-down and try again.') - - KSMShareManagement._send_share_request(vault, app_uid, app_shares) vault.sync_down() - return uids_to_update \ No newline at end of file + return updated_uids diff --git a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py index 38ffb98b..77d24b26 100644 --- a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py +++ b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py @@ -5,7 +5,7 @@ from dataclasses import dataclass, field from typing import Any, Dict, List, Optional, Set, Tuple -from .. import utils +from .. import crypto, utils from ..errors import KeeperApiError from ..proto import folder_pb2, record_pb2, record_sharing_pb2 from . import nsf_common @@ -252,6 +252,143 @@ def grant_nsf_folder_access( return result +def _nsf_app_role_for_editable(is_editable: bool) -> str: + """Map KSM editable flag to NSF folder role used for AT_APPLICATION shares.""" + return 'content-manager' if is_editable else 'viewer' + + +def grant_nsf_folder_to_application( + vault: VaultOnline, + folder_identifier: str, + app_uid: str, + *, + is_editable: bool = False, + request_sync: bool = True) -> Dict[str, Any]: + """Share an NSF (Keeper Drive) folder with a KSM application via AT_APPLICATION. + + Classic vault/app_share_add rejects Drive folders; this uses folders/v3/access_update. + """ + folder_uid = resolve_nsf_folder_uid(vault, folder_identifier) or folder_identifier + if not is_nsf_folder(vault, folder_uid): + raise NsfError(f'NSF folder not found: {folder_identifier}') + _ensure_folder_share_permission(vault, folder_uid) + _prepare_folder_for_access_change(vault, folder_uid) + + app_key = vault.vault_data.get_record_key(app_uid) + if not app_key: + raise NsfError(f'Could not resolve record key for application {app_uid}') + + role = _nsf_app_role_for_editable(is_editable) + access_role = nsf_common.resolve_nsf_role(role) + target_role_name = folder_pb2.AccessRoleType.Name(access_role) + app_uid_bytes = utils.base64_url_decode(app_uid) + + existing_role = _check_existing_nsf_folder_access( + vault, folder_uid, app_uid_bytes, 'AT_APPLICATION') + if existing_role is not None: + if existing_role == target_role_name: + return { + 'folder_uid': folder_uid, + 'accessor': app_uid, + 'access_type': 'AT_APPLICATION', + 'status': 'SUCCESS', + 'message': f'Application already has {role} access', + 'success': True, + 'action_taken': 'already_had_access', + } + return update_nsf_folder_application_access( + vault, folder_uid, app_uid, is_editable=is_editable, request_sync=request_sync) + + ad = folder_pb2.FolderAccessData() + ad.folderUid = utils.base64_url_decode(folder_uid) + ad.accessTypeUid = app_uid_bytes + ad.accessType = folder_pb2.AT_APPLICATION + ad.accessRoleType = access_role + ad.permissions.CopyFrom(nsf_common.get_folder_permissions_for_role(access_role)) + + folder_key = _get_folder_key(vault, folder_uid) + ek = folder_pb2.EncryptedDataKey() + ek.encryptedKey = crypto.encrypt_aes_v2(folder_key, app_key) + ek.encryptedKeyType = folder_pb2.encrypted_by_data_key_gcm + ad.folderKey.CopyFrom(ek) + + response = _folder_access_update(vault, adds=[ad]) + result = nsf_common.parse_folder_access_result( + response, folder_uid, app_uid, 'Application access granted successfully') + result['access_type'] = 'AT_APPLICATION' + result.setdefault( + 'action_taken', 'granted' if result['success'] else 'grant_failed') + if not result['success']: + raise KeeperApiError(result['status'], result['message']) + _request_sync(vault, request_sync) + return result + + +def update_nsf_folder_application_access( + vault: VaultOnline, + folder_identifier: str, + app_uid: str, + *, + is_editable: bool = False, + request_sync: bool = True) -> Dict[str, Any]: + """Update AT_APPLICATION role for an NSF folder already shared with a KSM app.""" + folder_uid = resolve_nsf_folder_uid(vault, folder_identifier) or folder_identifier + if not is_nsf_folder(vault, folder_uid): + raise NsfError(f'NSF folder not found: {folder_identifier}') + _ensure_folder_share_permission(vault, folder_uid) + _prepare_folder_for_access_change(vault, folder_uid) + + role = _nsf_app_role_for_editable(is_editable) + access_role = nsf_common.resolve_nsf_role(role) + app_uid_bytes = utils.base64_url_decode(app_uid) + + ad = folder_pb2.FolderAccessData() + ad.folderUid = utils.base64_url_decode(folder_uid) + ad.accessTypeUid = app_uid_bytes + ad.accessType = folder_pb2.AT_APPLICATION + ad.accessRoleType = access_role + ad.permissions.CopyFrom(nsf_common.get_folder_permissions_for_role(access_role)) + + response = _folder_access_update(vault, updates=[ad]) + result = nsf_common.parse_folder_access_result( + response, folder_uid, app_uid, 'Application access updated successfully') + result['access_type'] = 'AT_APPLICATION' + result.setdefault( + 'action_taken', 'updated' if result['success'] else 'update_failed') + if not result['success']: + raise KeeperApiError(result['status'], result['message']) + _request_sync(vault, request_sync) + return result + + +def revoke_nsf_folder_from_application( + vault: VaultOnline, + folder_identifier: str, + app_uid: str, + *, + request_sync: bool = True) -> Dict[str, Any]: + """Revoke AT_APPLICATION access for a KSM app on an NSF folder.""" + folder_uid = resolve_nsf_folder_uid(vault, folder_identifier) or folder_identifier + if not is_nsf_folder(vault, folder_uid): + raise NsfError(f'NSF folder not found: {folder_identifier}') + _ensure_folder_share_permission(vault, folder_uid) + _prepare_folder_for_access_change(vault, folder_uid) + + ad = folder_pb2.FolderAccessData() + ad.folderUid = utils.base64_url_decode(folder_uid) + ad.accessTypeUid = utils.base64_url_decode(app_uid) + ad.accessType = folder_pb2.AT_APPLICATION + + response = _folder_access_update(vault, removes=[ad]) + result = nsf_common.parse_folder_access_result( + response, folder_uid, app_uid, 'Application access revoked successfully') + result['access_type'] = 'AT_APPLICATION' + if not result['success']: + raise KeeperApiError(result['status'], result['message']) + _request_sync(vault, request_sync) + return result + + def update_nsf_folder_access( vault: VaultOnline, folder_identifier: str, diff --git a/keepersdk-package/unit_tests/test_ksm_management.py b/keepersdk-package/unit_tests/test_ksm_management.py index 7bc0d9c8..b6f46413 100644 --- a/keepersdk-package/unit_tests/test_ksm_management.py +++ b/keepersdk-package/unit_tests/test_ksm_management.py @@ -64,12 +64,12 @@ def setUp(self): self.mock_app = self.patcher_app.start() self.patcher_type = patch('keepersdk.proto.APIRequest_pb2.ApplicationShareType.Name', side_effect=lambda x: 'SHARE_TYPE_RECORD' if x == 1 else 'SHARE_TYPE_FOLDER' if x == 2 else 'UNKNOWN') self.mock_type = self.patcher_type.start() - self.patcher_enterprise = patch('keepersdk.vault.ksm_management.GENERAL', 1) - self.mock_enterprise = self.patcher_enterprise.start() self.patcher_short = patch('keepersdk.vault.ksm_management.shorten_client_id', return_value='shortid') self.mock_short = self.patcher_short.start() self.patcher_folders = patch('keepersdk.vault.ksm_management.vault_online.VaultOnline.vault_data', create=True) self.mock_folders = self.patcher_folders.start() + self.vault.vault_data.folders.return_value = [] + self.vault.nsf_data = None def tearDown(self): self.patcher_encode.stop() @@ -78,7 +78,6 @@ def tearDown(self): self.patcher_shared.stop() self.patcher_app.stop() self.patcher_type.stop() - self.patcher_enterprise.stop() self.patcher_short.stop() self.patcher_folders.stop() @@ -107,6 +106,37 @@ def test_app_found_with_folder_share(self): result = ksm_management.get_secrets_manager_app(self.vault, 'uid1') self.assertEqual(result['folders'], 1) self.assertEqual(result['records'], 0) + self.assertEqual(result['shared_secrets'][0]['type'], 'FOLDER') + self.assertEqual(result['shared_secrets'][0]['name'], 'encoded_uid1') + + def test_gateway_controller_client_is_included(self): + app_info = MagicMock() + client = MagicMock( + appClientType=2, id='DISCOVERY_AND_ROTATION_CONTROLLER', + createdOn=1710000000000, accessExpireOn=0, firstAccess=0, lastAccess=0, + lockIp=False, ipAddress='', clientId=b'gwclient', + ) + app_info.clients = [client] + app_info.shares = [] + with patch('keepersdk.vault.ksm_management.get_app_info', return_value=[app_info]): + result = ksm_management.get_secrets_manager_app(self.vault, 'uid1') + self.assertEqual(len(result['client_devices']), 1) + self.assertEqual(result['client_devices'][0]['name'], 'DISCOVERY_AND_ROTATION_CONTROLLER') + + def test_nsf_folder_share_resolves_name(self): + from types import SimpleNamespace + app_info = MagicMock() + app_info.clients = [] + share = MagicMock(secretUid=b'nsffolder', shareType=2, editable=True) + app_info.shares = [share] + nsf_folder = SimpleNamespace(folder_uid='encoded_uid1', name='PAM NSF Root') + self.vault.nsf_data = MagicMock() + self.vault.nsf_data.get_folder.return_value = nsf_folder + with patch('keepersdk.vault.ksm_management.get_app_info', return_value=[app_info]): + result = ksm_management.get_secrets_manager_app(self.vault, 'uid1') + self.assertEqual(result['folders'], 1) + self.assertEqual(result['shared_secrets'][0]['name'], 'PAM NSF Root') + self.vault.nsf_data.get_folder.assert_called_once_with('encoded_uid1') def test_app_not_found_raises(self): self.vault.vault_data.records.return_value = [] @@ -272,5 +302,51 @@ def test_remove_app_with_clients_force(self): self.assertEqual(uid, 'appuid') +class ClassifyNsfSecretTestCase(unittest.TestCase): + def setUp(self): + self.vault = MagicMock() + self.vault.vault_data._records = {} + self.vault.vault_data._shared_folders = {} + self.vault.nsf_data = MagicMock() + + def test_nsf_folder_classified_for_application_access(self): + self.vault.nsf_data.get_folder.return_value = MagicMock() + with patch( + 'keepersdk.vault.ksm_management.nsf_management.resolve_nsf_folder_uid', + return_value='nsfFolderUid', + ): + result = ksm_management.KSMShareManagement._classify_secret( + self.vault, 'nsfFolderUid' + ) + self.assertEqual(result, ('nsf_folder', 'nsfFolderUid', 'NSF Folder')) + + def test_nsf_record_returns_record_share_info(self): + self.vault.nsf_data.get_folder.return_value = None + self.vault.nsf_data.get_record.return_value = MagicMock() + with patch( + 'keepersdk.vault.ksm_management.nsf_management.resolve_nsf_folder_uid', + return_value=None, + ), patch( + 'keepersdk.vault.ksm_management.nsf_management.resolve_nsf_record_uid', + return_value='nsfRecordUid', + ), patch( + 'keepersdk.vault.ksm_management.nsf_management._get_record_key', + return_value=b'record-key-32-bytes!!!!!!!!!!!!!?', + ): + result = ksm_management.KSMShareManagement._get_secret_info( + self.vault, 'nsfRecordUid' + ) + self.assertIsNotNone(result) + key, share_type, label, uid = result + self.assertEqual(key, b'record-key-32-bytes!!!!!!!!!!!!!?') + self.assertEqual(label, 'NSF Record') + self.assertEqual(uid, 'nsfRecordUid') + + def test_unknown_uid_returns_none(self): + self.vault.nsf_data = None + result = ksm_management.KSMShareManagement._classify_secret(self.vault, 'missing') + self.assertIsNone(result) + + if __name__ == "__main__": unittest.main() \ No newline at end of file From fdbd1a272dd786c95a7cfa504f589bd9cceb39f1 Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Tue, 14 Jul 2026 15:28:51 +0530 Subject: [PATCH 2/6] protobuff update --- .../src/keepersdk/proto/APIRequest_pb2.py | 752 ++++++++--------- .../src/keepersdk/proto/APIRequest_pb2.pyi | 40 +- .../src/keepersdk/proto/BI_pb2.py | 376 ++++----- .../src/keepersdk/proto/BI_pb2.pyi | 92 ++- .../src/keepersdk/proto/automator_pb2.py | 8 +- .../src/keepersdk/proto/automator_pb2.pyi | 8 +- .../src/keepersdk/proto/enterprise_pb2.py | 754 +++++++++--------- .../src/keepersdk/proto/enterprise_pb2.pyi | 73 +- .../src/keepersdk/proto/folder_pb2.py | 104 +-- .../src/keepersdk/proto/folder_pb2.pyi | 10 +- .../src/keepersdk/proto/pagination_pb2.py | 4 +- .../src/keepersdk/proto/pam_pb2.py | 118 +-- .../src/keepersdk/proto/pam_pb2.pyi | 115 ++- .../src/keepersdk/proto/pedm_pb2.py | 16 +- .../src/keepersdk/proto/pedm_pb2.pyi | 26 +- .../src/keepersdk/proto/record_details_pb2.py | 4 +- .../keepersdk/proto/record_endpoints_pb2.py | 8 +- .../keepersdk/proto/record_endpoints_pb2.pyi | 6 +- .../src/keepersdk/proto/record_pb2.py | 312 ++++---- .../src/keepersdk/proto/record_pb2.pyi | 6 +- .../src/keepersdk/proto/remove_pb2.py | 53 +- .../src/keepersdk/proto/remove_pb2.pyi | 77 +- .../src/keepersdk/proto/router_pb2.py | 172 ++-- .../src/keepersdk/proto/router_pb2.pyi | 107 ++- 24 files changed, 1872 insertions(+), 1369 deletions(-) diff --git a/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.py b/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.py index 1b85c2f4..e56ab96a 100644 --- a/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.py @@ -25,7 +25,7 @@ from . import enterprise_pb2 as enterprise__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x41PIRequest.proto\x12\x0e\x41uthentication\x1a\x10\x65nterprise.proto\"{\n\rQrcMessageKey\x12\x19\n\x11\x63lientEcPublicKey\x18\x01 \x01(\x0c\x12\x1c\n\x14mlKemEncapsulatedKey\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x12\n\nmsgVersion\x18\x04 \x01(\x05\x12\x0f\n\x07\x65\x63KeyId\x18\x05 \x01(\x05\"\xe6\x01\n\nApiRequest\x12 \n\x18\x65ncryptedTransmissionKey\x18\x01 \x01(\x0c\x12\x13\n\x0bpublicKeyId\x18\x02 \x01(\x05\x12\x0e\n\x06locale\x18\x03 \x01(\t\x12\x18\n\x10\x65ncryptedPayload\x18\x04 \x01(\x0c\x12\x16\n\x0e\x65ncryptionType\x18\x05 \x01(\x05\x12\x11\n\trecaptcha\x18\x06 \x01(\t\x12\x16\n\x0esubEnvironment\x18\x07 \x01(\t\x12\x34\n\rqrcMessageKey\x18\x08 \x01(\x0b\x32\x1d.Authentication.QrcMessageKey\"j\n\x11\x41piRequestPayload\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x02 \x01(\x0c\x12\x11\n\ttimeToken\x18\x03 \x01(\x0c\x12\x12\n\napiVersion\x18\x04 \x01(\x05\"6\n\tTransform\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\"\xa0\x01\n\rDeviceRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x16\n\x0e\x64\x65vicePlatform\x18\x03 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x04 \x01(\x0e\x32 .Authentication.ClientFormFactor\x12\x10\n\x08username\x18\x05 \x01(\t\"T\n\x0b\x41uthRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x03 \x01(\x0c\"\xc3\x01\n\x14NewUserMinimumParams\x12\x19\n\x11minimumIterations\x18\x01 \x01(\x05\x12\x1a\n\x12passwordMatchRegex\x18\x02 \x03(\t\x12 \n\x18passwordMatchDescription\x18\x03 \x03(\t\x12\x1a\n\x12isEnterpriseDomain\x18\x04 \x01(\x08\x12\x1e\n\x16\x65nterpriseEccPublicKey\x18\x05 \x01(\x0c\x12\x16\n\x0e\x66orbidKeyType2\x18\x06 \x01(\x08\"\x89\x01\n\x0fPreLoginRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12,\n\tloginType\x18\x02 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x16\n\x0etwoFactorToken\x18\x03 \x01(\x0c\"\x80\x02\n\x0cLoginRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12,\n\tloginType\x18\x02 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x1f\n\x17\x61uthenticationHashPrime\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x04 \x01(\x0c\x12\x14\n\x0c\x61uthResponse\x18\x05 \x01(\x0c\x12\x16\n\x0emcEnterpriseId\x18\x06 \x01(\x05\x12\x12\n\npush_token\x18\x07 \x01(\t\x12\x10\n\x08platform\x18\x08 \x01(\t\"\\\n\x0e\x44\x65viceResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"V\n\x04Salt\x12\x12\n\niterations\x18\x01 \x01(\x05\x12\x0c\n\x04salt\x18\x02 \x01(\x0c\x12\x11\n\talgorithm\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x0c\x12\x0c\n\x04name\x18\x05 \x01(\t\" \n\x10TwoFactorChannel\x12\x0c\n\x04type\x18\x01 \x01(\x05\"\xfc\x02\n\x11StartLoginRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x05 \x01(\x0c\x12,\n\tloginType\x18\x06 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x16\n\x0emcEnterpriseId\x18\x07 \x01(\x05\x12\x30\n\x0bloginMethod\x18\x08 \x01(\x0e\x32\x1b.Authentication.LoginMethod\x12\x15\n\rforceNewLogin\x18\t \x01(\x08\x12\x11\n\tcloneCode\x18\n \x01(\x0c\x12\x18\n\x10v2TwoFactorToken\x18\x0b \x01(\t\x12\x12\n\naccountUid\x18\x0c \x01(\x0c\x12\x18\n\x10\x66romSessionToken\x18\r \x01(\x0c\"\xa7\x04\n\rLoginResponse\x12.\n\nloginState\x18\x01 \x01(\x0e\x32\x1a.Authentication.LoginState\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\x12\x17\n\x0fprimaryUsername\x18\x03 \x01(\t\x12\x18\n\x10\x65ncryptedDataKey\x18\x04 \x01(\x0c\x12\x42\n\x14\x65ncryptedDataKeyType\x18\x05 \x01(\x0e\x32$.Authentication.EncryptedDataKeyType\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x06 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x07 \x01(\x0c\x12:\n\x10sessionTokenType\x18\x08 \x01(\x0e\x32 .Authentication.SessionTokenType\x12\x0f\n\x07message\x18\t \x01(\t\x12\x0b\n\x03url\x18\n \x01(\t\x12\x36\n\x08\x63hannels\x18\x0b \x03(\x0b\x32$.Authentication.TwoFactorChannelInfo\x12\"\n\x04salt\x18\x0c \x03(\x0b\x32\x14.Authentication.Salt\x12\x11\n\tcloneCode\x18\r \x01(\x0c\x12\x1a\n\x12stateSpecificValue\x18\x0e \x01(\t\x12\x18\n\x10ssoClientVersion\x18\x0f \x01(\t\x12 \n\x18sessionTokenTypeModifier\x18\x10 \x01(\t\"v\n\x11SwitchListElement\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x14\n\x0c\x61uthRequired\x18\x03 \x01(\x08\x12\x10\n\x08isLinked\x18\x04 \x01(\x08\x12\x15\n\rprofilePicUrl\x18\x05 \x01(\t\"I\n\x12SwitchListResponse\x12\x33\n\x08\x65lements\x18\x01 \x03(\x0b\x32!.Authentication.SwitchListElement\"\x8c\x01\n\x0bSsoUserInfo\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\x12\x13\n\x0bsamlRequest\x18\x02 \x01(\t\x12\x17\n\x0fsamlRequestType\x18\x03 \x01(\t\x12\x15\n\rssoDomainName\x18\x04 \x01(\t\x12\x10\n\x08loginUrl\x18\x05 \x01(\t\x12\x11\n\tlogoutUrl\x18\x06 \x01(\t\"\xd6\x01\n\x10PreLoginResponse\x12\x32\n\x0c\x64\x65viceStatus\x18\x01 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\"\n\x04salt\x18\x02 \x03(\x0b\x32\x14.Authentication.Salt\x12\x38\n\x0eOBSOLETE_FIELD\x18\x03 \x03(\x0b\x32 .Authentication.TwoFactorChannel\x12\x30\n\x0bssoUserInfo\x18\x04 \x01(\x0b\x32\x1b.Authentication.SsoUserInfo\"&\n\x12LoginAsUserRequest\x12\x10\n\x08username\x18\x01 \x01(\t\"W\n\x13LoginAsUserResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12!\n\x19\x65ncryptedSharedAccountKey\x18\x02 \x01(\x0c\"\x84\x01\n\x17ValidateAuthHashRequest\x12\x36\n\x0epasswordMethod\x18\x01 \x01(\x0e\x32\x1e.Authentication.PasswordMethod\x12\x14\n\x0c\x61uthResponse\x18\x02 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x03 \x01(\x0c\"\xc4\x02\n\x14TwoFactorChannelInfo\x12\x39\n\x0b\x63hannelType\x18\x01 \x01(\x0e\x32$.Authentication.TwoFactorChannelType\x12\x13\n\x0b\x63hannel_uid\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x03 \x01(\t\x12\x11\n\tchallenge\x18\x04 \x01(\t\x12\x14\n\x0c\x63\x61pabilities\x18\x05 \x03(\t\x12\x13\n\x0bphoneNumber\x18\x06 \x01(\t\x12:\n\rmaxExpiration\x18\x07 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\x12\x11\n\tcreatedOn\x18\x08 \x01(\x03\x12:\n\rlastFrequency\x18\t \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"d\n\x12TwoFactorDuoStatus\x12\x14\n\x0c\x63\x61pabilities\x18\x01 \x03(\t\x12\x13\n\x0bphoneNumber\x18\x02 \x01(\t\x12\x12\n\nenroll_url\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"\xc7\x01\n\x13TwoFactorAddRequest\x12\x39\n\x0b\x63hannelType\x18\x01 \x01(\x0e\x32$.Authentication.TwoFactorChannelType\x12\x13\n\x0b\x63hannel_uid\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x03 \x01(\t\x12\x13\n\x0bphoneNumber\x18\x04 \x01(\t\x12\x36\n\x0b\x64uoPushType\x18\x05 \x01(\x0e\x32!.Authentication.TwoFactorPushType\"B\n\x16TwoFactorRenameRequest\x12\x13\n\x0b\x63hannel_uid\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x02 \x01(\t\"=\n\x14TwoFactorAddResponse\x12\x11\n\tchallenge\x18\x01 \x01(\t\x12\x12\n\nbackupKeys\x18\x02 \x03(\t\"-\n\x16TwoFactorDeleteRequest\x12\x13\n\x0b\x63hannel_uid\x18\x01 \x01(\x0c\"a\n\x15TwoFactorListResponse\x12\x36\n\x08\x63hannels\x18\x01 \x03(\x0b\x32$.Authentication.TwoFactorChannelInfo\x12\x10\n\x08\x65xpireOn\x18\x02 \x01(\x03\"Y\n TwoFactorUpdateExpirationRequest\x12\x35\n\x08\x65xpireIn\x18\x01 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"\xc9\x01\n\x18TwoFactorValidateRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x35\n\tvalueType\x18\x02 \x01(\x0e\x32\".Authentication.TwoFactorValueType\x12\r\n\x05value\x18\x03 \x01(\t\x12\x13\n\x0b\x63hannel_uid\x18\x04 \x01(\x0c\x12\x35\n\x08\x65xpireIn\x18\x05 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"8\n\x19TwoFactorValidateResponse\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\"\xb8\x01\n\x18TwoFactorSendPushRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x33\n\x08pushType\x18\x02 \x01(\x0e\x32!.Authentication.TwoFactorPushType\x12\x13\n\x0b\x63hannel_uid\x18\x03 \x01(\x0c\x12\x35\n\x08\x65xpireIn\x18\x04 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"\x83\x01\n\x07License\x12\x0f\n\x07\x63reated\x18\x01 \x01(\x03\x12\x12\n\nexpiration\x18\x02 \x01(\x03\x12\x34\n\rlicenseStatus\x18\x03 \x01(\x0e\x32\x1d.Authentication.LicenseStatus\x12\x0c\n\x04paid\x18\x04 \x01(\x08\x12\x0f\n\x07message\x18\x05 \x01(\t\"G\n\x0fOwnerlessRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12\x0e\n\x06status\x18\x03 \x01(\x05\"L\n\x10OwnerlessRecords\x12\x38\n\x0fownerlessRecord\x18\x01 \x03(\x0b\x32\x1f.Authentication.OwnerlessRecord\"\xd7\x01\n\x0fUserAuthRequest\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04salt\x18\x02 \x01(\x0c\x12\x12\n\niterations\x18\x03 \x01(\x05\x12\x1a\n\x12\x65ncryptedClientKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x61uthHash\x18\x05 \x01(\x0c\x12\x18\n\x10\x65ncryptedDataKey\x18\x06 \x01(\x0c\x12,\n\tloginType\x18\x07 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x11\n\talgorithm\x18\t \x01(\x05\"\x19\n\nUidRequest\x12\x0b\n\x03uid\x18\x01 \x03(\x0c\"\xff\x01\n\x13\x44\x65viceUpdateRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\x16\n\x0e\x64\x65vicePlatform\x18\x06 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x07 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\x80\x02\n\x14\x44\x65viceUpdateResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\x16\n\x0e\x64\x65vicePlatform\x18\x06 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x07 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\xd5\x01\n\x1dRegisterDeviceInRegionRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x16\n\x0e\x64\x65vicePlatform\x18\x05 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x06 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\xf8\x02\n\x13RegistrationRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12\x38\n\x0fuserAuthRequest\x18\x02 \x01(\x0b\x32\x1f.Authentication.UserAuthRequest\x12\x1a\n\x12\x65ncryptedClientKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tpublicKey\x18\x05 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65precatedAuthHashHash\x18\x07 \x01(\x0c\x12$\n\x1c\x64\x65precatedEncryptedClientKey\x18\x08 \x01(\x0c\x12%\n\x1d\x64\x65precatedEncryptedPrivateKey\x18\t \x01(\x0c\x12\"\n\x1a\x64\x65precatedEncryptionParams\x18\n \x01(\x0c\"\xd0\x01\n\x16\x43onvertUserToV3Request\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12\x38\n\x0fuserAuthRequest\x18\x02 \x01(\x0b\x32\x1f.Authentication.UserAuthRequest\x12\x1a\n\x12\x65ncryptedClientKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tpublicKey\x18\x05 \x01(\x0c\"$\n\x10RevisionResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\"&\n\x12\x43hangeEmailRequest\x12\x10\n\x08newEmail\x18\x01 \x01(\t\"8\n\x13\x43hangeEmailResponse\x12!\n\x19\x65ncryptedChangeEmailToken\x18\x01 \x01(\x0c\"6\n\x1d\x45mailVerificationLinkResponse\x12\x15\n\remailVerified\x18\x01 \x01(\x08\")\n\x0cSecurityData\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"@\n\x11SecurityScoreData\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\"\x8b\x02\n\x13SecurityDataRequest\x12\x38\n\x12recordSecurityData\x18\x01 \x03(\x0b\x32\x1c.Authentication.SecurityData\x12@\n\x1amasterPasswordSecurityData\x18\x02 \x03(\x0b\x32\x1c.Authentication.SecurityData\x12\x34\n\x0e\x65ncryptionType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x42\n\x17recordSecurityScoreData\x18\x04 \x03(\x0b\x32!.Authentication.SecurityScoreData\"\xc6\x02\n\x1dSecurityReportIncrementalData\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1b\n\x13\x63urrentSecurityData\x18\x02 \x01(\x0c\x12#\n\x1b\x63urrentSecurityDataRevision\x18\x03 \x01(\x03\x12\x17\n\x0foldSecurityData\x18\x04 \x01(\x0c\x12\x1f\n\x17oldSecurityDataRevision\x18\x05 \x01(\x03\x12?\n\x19\x63urrentDataEncryptionType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12;\n\x15oldDataEncryptionType\x18\x07 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x11\n\trecordUid\x18\x08 \x01(\x0c\"\x9f\x02\n\x0eSecurityReport\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1b\n\x13\x65ncryptedReportData\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x11\n\ttwoFactor\x18\x04 \x01(\t\x12\x11\n\tlastLogin\x18\x05 \x01(\x03\x12\x1e\n\x16numberOfReusedPassword\x18\x06 \x01(\x05\x12T\n\x1dsecurityReportIncrementalData\x18\x07 \x03(\x0b\x32-.Authentication.SecurityReportIncrementalData\x12\x0e\n\x06userId\x18\x08 \x01(\x05\x12\x18\n\x10hasOldEncryption\x18\t \x01(\x08\"n\n\x19SecurityReportSaveRequest\x12\x36\n\x0esecurityReport\x18\x01 \x03(\x0b\x32\x1e.Authentication.SecurityReport\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\")\n\x15SecurityReportRequest\x12\x10\n\x08\x66romPage\x18\x01 \x01(\x03\"\xf5\x01\n\x16SecurityReportResponse\x12\x1c\n\x14\x65nterprisePrivateKey\x18\x01 \x01(\x0c\x12\x36\n\x0esecurityReport\x18\x02 \x03(\x0b\x32\x1e.Authentication.SecurityReport\x12\x14\n\x0c\x61sOfRevision\x18\x03 \x01(\x03\x12\x10\n\x08\x66romPage\x18\x04 \x01(\x03\x12\x0e\n\x06toPage\x18\x05 \x01(\x03\x12\x10\n\x08\x63omplete\x18\x06 \x01(\x08\x12\x1f\n\x17\x65nterpriseEccPrivateKey\x18\x07 \x01(\x0c\x12\x1a\n\x12hasIncrementalData\x18\x08 \x01(\x08\";\n\x1eIncrementalSecurityDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\x92\x01\n\x1fIncrementalSecurityDataResponse\x12T\n\x1dsecurityReportIncrementalData\x18\x01 \x03(\x0b\x32-.Authentication.SecurityReportIncrementalData\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\"\'\n\x16ReusedPasswordsRequest\x12\r\n\x05\x63ount\x18\x01 \x01(\x05\">\n\x14SummaryConsoleReport\x12\x12\n\nreportType\x18\x01 \x01(\x05\x12\x12\n\nreportData\x18\x02 \x01(\x0c\"|\n\x12\x43hangeToKeyTypeOne\x12/\n\nobjectType\x18\x01 \x01(\x0e\x32\x1b.Authentication.ObjectTypes\x12\x12\n\nprimaryUid\x18\x02 \x01(\x0c\x12\x14\n\x0csecondaryUid\x18\x03 \x01(\x0c\x12\x0b\n\x03key\x18\x04 \x01(\x0c\"[\n\x19\x43hangeToKeyTypeOneRequest\x12>\n\x12\x63hangeToKeyTypeOne\x18\x01 \x03(\x0b\x32\".Authentication.ChangeToKeyTypeOne\"U\n\x18\x43hangeToKeyTypeOneStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\"h\n\x1a\x43hangeToKeyTypeOneResponse\x12J\n\x18\x63hangeToKeyTypeOneStatus\x18\x01 \x03(\x0b\x32(.Authentication.ChangeToKeyTypeOneStatus\"\xb9\x01\n\x18GetChangeKeyTypesRequest\x12=\n\x10onlyTheseObjects\x18\x01 \x03(\x0e\x32#.Authentication.EncryptedObjectType\x12\r\n\x05limit\x18\x02 \x01(\x05\x12\x1a\n\x12includeRecommended\x18\x03 \x01(\x08\x12\x13\n\x0bincludeKeys\x18\x04 \x01(\x08\x12\x1e\n\x16includeAllowedKeyTypes\x18\x05 \x01(\x08\"\x82\x01\n\x19GetChangeKeyTypesResponse\x12+\n\x04keys\x18\x01 \x03(\x0b\x32\x1d.Authentication.ChangeKeyType\x12\x38\n\x0f\x61llowedKeyTypes\x18\x02 \x03(\x0b\x32\x1f.Authentication.AllowedKeyTypes\"\x81\x01\n\x0f\x41llowedKeyTypes\x12\x37\n\nobjectType\x18\x01 \x01(\x0e\x32#.Authentication.EncryptedObjectType\x12\x35\n\x0f\x61llowedKeyTypes\x18\x02 \x03(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"=\n\x0e\x43hangeKeyTypes\x12+\n\x04keys\x18\x01 \x03(\x0b\x32\x1d.Authentication.ChangeKeyType\"\xd6\x01\n\rChangeKeyType\x12\x37\n\nobjectType\x18\x01 \x01(\x0e\x32#.Authentication.EncryptedObjectType\x12\x0b\n\x03uid\x18\x02 \x01(\x0c\x12\x14\n\x0csecondaryUid\x18\x03 \x01(\x0c\x12\x0b\n\x03key\x18\x04 \x01(\x0c\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.Authentication.GenericStatus\"!\n\x06SetKey\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03key\x18\x02 \x01(\x0c\"5\n\rSetKeyRequest\x12$\n\x04keys\x18\x01 \x03(\x0b\x32\x16.Authentication.SetKey\"\x92\x05\n\x11\x43reateUserRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x61uthVerifier\x18\x02 \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\x03 \x01(\x0c\x12\x14\n\x0crsaPublicKey\x18\x04 \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x05 \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\x06 \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x07 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x08 \x01(\x0c\x12\x1a\n\x12\x65ncryptedClientKey\x18\t \x01(\x0c\x12\x15\n\rclientVersion\x18\n \x01(\t\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x0b \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x0c \x01(\x0c\x12\x19\n\x11messageSessionUid\x18\r \x01(\x0c\x12\x17\n\x0finstallReferrer\x18\x0e \x01(\t\x12\x0e\n\x06mccMNC\x18\x0f \x01(\x05\x12\x0b\n\x03mfg\x18\x10 \x01(\t\x12\r\n\x05model\x18\x11 \x01(\t\x12\r\n\x05\x62rand\x18\x12 \x01(\t\x12\x0f\n\x07product\x18\x13 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x14 \x01(\t\x12\x0f\n\x07\x63\x61rrier\x18\x15 \x01(\t\x12\x18\n\x10verificationCode\x18\x16 \x01(\t\x12\x42\n\x16\x65nterpriseRegistration\x18\x17 \x01(\x0b\x32\".Enterprise.EnterpriseRegistration\x12\"\n\x1a\x65ncryptedVerificationToken\x18\x18 \x01(\x0c\x12\x1e\n\x16\x65nterpriseUsersDataKey\x18\x19 \x01(\x0c\"W\n!NodeEnforcementAddOrUpdateRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x65nforcement\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"C\n\x1cNodeEnforcementRemoveRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x65nforcement\x18\x02 \x01(\t\"\xb7\x01\n\x0f\x41piRequestByKey\x12\r\n\x05keyId\x18\x01 \x01(\x05\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12<\n\x11supportedLanguage\x18\x05 \x01(\x0e\x32!.Authentication.SupportedLanguage\x12\x0c\n\x04type\x18\x06 \x01(\x05\x12\x16\n\x0eparentThreadId\x18\x07 \x01(\t\"\xc7\x01\n\x15\x41piRequestByKAtoKAKey\x12,\n\x0csourceRegion\x18\x01 \x01(\x0e\x32\x16.Authentication.Region\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12<\n\x11supportedLanguage\x18\x03 \x01(\x0e\x32!.Authentication.SupportedLanguage\x12\x31\n\x11\x64\x65stinationRegion\x18\x04 \x01(\x0e\x32\x16.Authentication.Region\".\n\x0fMemcacheRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\x05\".\n\x10MemcacheResponse\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"w\n\x1cMasterPasswordReentryRequest\x12\x16\n\x0epbkdf2Password\x18\x01 \x01(\t\x12?\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32/.Authentication.MasterPasswordReentryActionType\"\\\n\x1dMasterPasswordReentryResponse\x12;\n\x06status\x18\x01 \x01(\x0e\x32+.Authentication.MasterPasswordReentryStatus\"\xc5\x01\n\x19\x44\x65viceRegistrationRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x03 \x01(\x0c\x12\x16\n\x0e\x64\x65vicePlatform\x18\x04 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x05 \x01(\x0e\x32 .Authentication.ClientFormFactor\x12\x10\n\x08username\x18\x06 \x01(\t\"\x9a\x01\n\x19\x44\x65viceVerificationRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x1b\n\x13verificationChannel\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x15\n\rclientVersion\x18\x05 \x01(\t\"\xb2\x01\n\x1a\x44\x65viceVerificationResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x03 \x01(\x0c\x12\x15\n\rclientVersion\x18\x04 \x01(\t\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"\xc8\x01\n\x15\x44\x65viceApprovalRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x18\n\x10twoFactorChannel\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x05 \x01(\x0c\x12\x10\n\x08totpCode\x18\x06 \x01(\t\x12\x10\n\x08\x64\x65viceIp\x18\x07 \x01(\t\x12\x1d\n\x15\x64\x65viceTokenExpireDays\x18\x08 \x01(\t\"9\n\x16\x44\x65viceApprovalResponse\x12\x1f\n\x17\x65ncryptedTwoFactorToken\x18\x01 \x01(\x0c\"~\n\x14\x41pproveDeviceRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64\x65nyApproval\x18\x03 \x01(\x08\x12\x12\n\nlinkDevice\x18\x04 \x01(\x08\"E\n\x1a\x45nterpriseUserAliasRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"Y\n\x1d\x45nterpriseUserAddAliasRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x0f\n\x07primary\x18\x03 \x01(\x08\"w\n\x1f\x45nterpriseUserAddAliasRequestV2\x12T\n\x1d\x65nterpriseUserAddAliasRequest\x18\x01 \x03(\x0b\x32-.Authentication.EnterpriseUserAddAliasRequest\"H\n\x1c\x45nterpriseUserAddAliasStatus\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06status\x18\x02 \x01(\t\"^\n\x1e\x45nterpriseUserAddAliasResponse\x12<\n\x06status\x18\x01 \x03(\x0b\x32,.Authentication.EnterpriseUserAddAliasStatus\"&\n\x06\x44\x65vice\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\"\\\n\x1cRegisterDeviceDataKeyRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x02 \x01(\x0c\"n\n)ValidateCreateUserVerificationCodeRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\"\xa3\x01\n%ValidateDeviceVerificationCodeRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x05 \x01(\x0c\"Y\n\x19SendSessionMessageRequest\x12\x19\n\x11messageSessionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\"M\n\x11GlobalUserAccount\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\x12\x12\n\nregionName\x18\x03 \x01(\t\"7\n\x0f\x41\x63\x63ountUsername\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x12\n\ndateActive\x18\x02 \x01(\t\"P\n\x19SsoServiceProviderRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x0e\n\x06locale\x18\x03 \x01(\t\"a\n\x1aSsoServiceProviderResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05spUrl\x18\x02 \x01(\t\x12\x0f\n\x07isCloud\x18\x03 \x01(\x08\x12\x15\n\rclientVersion\x18\x04 \x01(\t\"4\n\x12UserSettingRequest\x12\x0f\n\x07setting\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"f\n\rThrottleState\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.Authentication.ThrottleType\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\x08\"\xb5\x01\n\x0eThrottleState2\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x16\n\x0ekeyDescription\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x18\n\x10valueDescription\x18\x04 \x01(\t\x12\x12\n\nidentifier\x18\x05 \x01(\t\x12\x0e\n\x06locked\x18\x06 \x01(\x08\x12\x1a\n\x12includedInAllClear\x18\x07 \x01(\x08\x12\x15\n\rexpireSeconds\x18\x08 \x01(\x05\"\x97\x01\n\x11\x44\x65viceInformation\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\x03\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x11\n\tlastLogin\x18\x04 \x01(\x03\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"*\n\x0bUserSetting\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08\".\n\x12UserDataKeyRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\"+\n\x18UserDataKeyByNodeRequest\x12\x0f\n\x07nodeIds\x18\x01 \x03(\x03\"\x80\x01\n\x1b\x45nterpriseUserIdDataKeyPair\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x18\n\x10\x65ncryptedDataKey\x18\x02 \x01(\x0c\x12-\n\x07keyType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x95\x01\n\x0bUserDataKey\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x0f\n\x07roleKey\x18\x02 \x01(\x0c\x12\x12\n\nprivateKey\x18\x03 \x01(\t\x12Q\n\x1c\x65nterpriseUserIdDataKeyPairs\x18\x04 \x03(\x0b\x32+.Authentication.EnterpriseUserIdDataKeyPair\"z\n\x13UserDataKeyResponse\x12\x31\n\x0cuserDataKeys\x18\x01 \x03(\x0b\x32\x1b.Authentication.UserDataKey\x12\x14\n\x0c\x61\x63\x63\x65ssDenied\x18\x02 \x03(\x03\x12\x1a\n\x12noEncryptedDataKey\x18\x03 \x03(\x03\"H\n)MasterPasswordRecoveryVerificationRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\"U\n\x1cGetSecurityQuestionV3Request\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\"r\n\x1dGetSecurityQuestionV3Response\x12\x18\n\x10securityQuestion\x18\x01 \x01(\t\x12\x15\n\rbackupKeyDate\x18\x02 \x01(\x03\x12\x0c\n\x04salt\x18\x03 \x01(\x0c\x12\x12\n\niterations\x18\x04 \x01(\x05\"n\n\x19GetDataKeyBackupV3Request\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\x12\x1a\n\x12securityAnswerHash\x18\x03 \x01(\x0c\"v\n\rPasswordRules\x12\x10\n\x08ruleType\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\x08\x12\x0f\n\x07pattern\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x0f\n\x07minimum\x18\x05 \x01(\x05\x12\r\n\x05value\x18\x06 \x01(\t\"\xc9\x02\n\x1aGetDataKeyBackupV3Response\x12\x15\n\rdataKeyBackup\x18\x01 \x01(\x0c\x12\x19\n\x11\x64\x61taKeyBackupDate\x18\x02 \x01(\x03\x12\x11\n\tpublicKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tclientKey\x18\x05 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x06 \x01(\x0c\x12\x34\n\rpasswordRules\x18\x07 \x03(\x0b\x32\x1d.Authentication.PasswordRules\x12\x1a\n\x12passwordRulesIntro\x18\x08 \x01(\t\x12\x1f\n\x17minimumPbkdf2Iterations\x18\t \x01(\x05\x12$\n\x07keyType\x18\n \x01(\x0e\x32\x13.Enterprise.KeyType\")\n\x14GetPublicKeysRequest\x12\x11\n\tusernames\x18\x01 \x03(\t\"\x86\x01\n\x11PublicKeyResponse\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x14\n\x0cpublicEccKey\x18\x03 \x01(\x0c\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x11\n\terrorCode\x18\x05 \x01(\t\x12\x12\n\naccountUid\x18\x06 \x01(\x0c\"P\n\x15GetPublicKeysResponse\x12\x37\n\x0ckeyResponses\x18\x01 \x03(\x0b\x32!.Authentication.PublicKeyResponse\"F\n\x14SetEccKeyPairRequest\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x02 \x01(\x0c\"I\n\x15SetEccKeyPairsRequest\x12\x30\n\x08teamKeys\x18\x01 \x03(\x0b\x32\x1e.Authentication.TeamEccKeyPair\"R\n\x16SetEccKeyPairsResponse\x12\x38\n\x08teamKeys\x18\x01 \x03(\x0b\x32&.Authentication.TeamEccKeyPairResponse\"Q\n\x0eTeamEccKeyPair\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x03 \x01(\x0c\"X\n\x16TeamEccKeyPairResponse\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.Authentication.GenericStatus\"D\n\x17GetKsmPublicKeysRequest\x12\x11\n\tclientIds\x18\x01 \x03(\x0c\x12\x16\n\x0e\x63ontrollerUids\x18\x02 \x03(\x0c\"U\n\x17\x44\x65vicePublicKeyResponse\x12\x10\n\x08\x63lientId\x18\x01 \x01(\x0c\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\"Y\n\x18GetKsmPublicKeysResponse\x12=\n\x0ckeyResponses\x18\x01 \x03(\x0b\x32\'.Authentication.DevicePublicKeyResponse\"X\n\x13\x41\x64\x64\x41ppSharesRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12+\n\x06shares\x18\x02 \x03(\x0b\x32\x1b.Authentication.AppShareAdd\">\n\x16RemoveAppSharesRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06shares\x18\x02 \x03(\x0c\"\x87\x01\n\x0b\x41ppShareAdd\x12\x11\n\tsecretUid\x18\x02 \x01(\x0c\x12\x37\n\tshareType\x18\x03 \x01(\x0e\x32$.Authentication.ApplicationShareType\x12\x1a\n\x12\x65ncryptedSecretKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x65\x64itable\x18\x05 \x01(\x08\"\x89\x01\n\x08\x41ppShare\x12\x11\n\tsecretUid\x18\x01 \x01(\x0c\x12\x37\n\tshareType\x18\x02 \x01(\x0e\x32$.Authentication.ApplicationShareType\x12\x10\n\x08\x65\x64itable\x18\x03 \x01(\x08\x12\x11\n\tcreatedOn\x18\x04 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"\xd9\x01\n\x13\x41\x64\x64\x41ppClientRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0f\x65ncryptedAppKey\x18\x02 \x01(\x0c\x12\x10\n\x08\x63lientId\x18\x03 \x01(\x0c\x12\x0e\n\x06lockIp\x18\x04 \x01(\x08\x12\x1b\n\x13\x66irstAccessExpireOn\x18\x05 \x01(\x03\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\x06 \x01(\x03\x12\n\n\x02id\x18\x07 \x01(\t\x12\x30\n\rappClientType\x18\x08 \x01(\x0e\x32\x19.Enterprise.AppClientType\"@\n\x17RemoveAppClientsRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63lients\x18\x02 \x03(\x0c\"\xaa\x01\n\x17\x41\x64\x64\x45xternalShareRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x02 \x01(\x0c\x12\x10\n\x08\x63lientId\x18\x03 \x01(\x0c\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\x04 \x01(\x03\x12\n\n\x02id\x18\x05 \x01(\t\x12\x16\n\x0eisSelfDestruct\x18\x06 \x01(\x08\x12\x12\n\nisEditable\x18\x07 \x01(\x08\"\x93\x02\n\tAppClient\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08\x63lientId\x18\x02 \x01(\x0c\x12\x11\n\tcreatedOn\x18\x03 \x01(\x03\x12\x13\n\x0b\x66irstAccess\x18\x04 \x01(\x03\x12\x12\n\nlastAccess\x18\x05 \x01(\x03\x12\x11\n\tpublicKey\x18\x06 \x01(\x0c\x12\x0e\n\x06lockIp\x18\x07 \x01(\x08\x12\x11\n\tipAddress\x18\x08 \x01(\t\x12\x1b\n\x13\x66irstAccessExpireOn\x18\t \x01(\x03\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\n \x01(\x03\x12\x30\n\rappClientType\x18\x0b \x01(\x0e\x32\x19.Enterprise.AppClientType\x12\x0f\n\x07\x63\x61nEdit\x18\x0c \x01(\x08\")\n\x11GetAppInfoRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x03(\x0c\"\x8e\x01\n\x07\x41ppInfo\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12(\n\x06shares\x18\x02 \x03(\x0b\x32\x18.Authentication.AppShare\x12*\n\x07\x63lients\x18\x03 \x03(\x0b\x32\x19.Authentication.AppClient\x12\x17\n\x0fisExternalShare\x18\x04 \x01(\x08\">\n\x12GetAppInfoResponse\x12(\n\x07\x61ppInfo\x18\x01 \x03(\x0b\x32\x17.Authentication.AppInfo\"\xd5\x01\n\x12\x41pplicationSummary\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x12\n\nlastAccess\x18\x02 \x01(\x03\x12\x14\n\x0crecordShares\x18\x03 \x01(\x05\x12\x14\n\x0c\x66olderShares\x18\x04 \x01(\x05\x12\x15\n\rfolderRecords\x18\x05 \x01(\x05\x12\x13\n\x0b\x63lientCount\x18\x06 \x01(\x05\x12\x1a\n\x12\x65xpiredClientCount\x18\x07 \x01(\x05\x12\x10\n\x08username\x18\x08 \x01(\t\x12\x0f\n\x07\x61ppData\x18\t \x01(\x0c\"`\n\x1eGetApplicationsSummaryResponse\x12>\n\x12\x61pplicationSummary\x18\x01 \x03(\x0b\x32\".Authentication.ApplicationSummary\"/\n\x1bGetVerificationTokenRequest\x12\x10\n\x08username\x18\x01 \x01(\t\"B\n\x1cGetVerificationTokenResponse\x12\"\n\x1a\x65ncryptedVerificationToken\x18\x01 \x01(\x0c\"\'\n\x16SendShareInviteRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\"\xc5\x01\n\x18TimeLimitedAccessRequest\x12\x12\n\naccountUid\x18\x01 \x03(\x0c\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\x12\x11\n\trecordUid\x18\x03 \x03(\x0c\x12\x17\n\x0fsharedObjectUid\x18\x04 \x01(\x0c\x12\x44\n\x15timeLimitedAccessType\x18\x05 \x01(\x0e\x32%.Authentication.TimeLimitedAccessType\x12\x12\n\nexpiration\x18\x06 \x01(\x03\"7\n\x17TimeLimitedAccessStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xf8\x01\n\x19TimeLimitedAccessResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12\x41\n\x10userAccessStatus\x18\x02 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\x12\x41\n\x10teamAccessStatus\x18\x03 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\x12\x43\n\x12recordAccessStatus\x18\x04 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\"+\n\x16RequestDownloadRequest\x12\x11\n\tfileNames\x18\x01 \x03(\t\"g\n\x17RequestDownloadResponse\x12\x0e\n\x06result\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12+\n\tdownloads\x18\x03 \x03(\x0b\x32\x18.Authentication.Download\"D\n\x08\x44ownload\x12\x10\n\x08\x66ileName\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x19\n\x11successStatusCode\x18\x03 \x01(\x05\"#\n\x11\x44\x65leteUserRequest\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\x84\x01\n\x1b\x43hangeMasterPasswordRequest\x12\x14\n\x0c\x61uthVerifier\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\x02 \x01(\x0c\x12\x1b\n\x13\x66romServiceProvider\x18\x03 \x01(\x08\x12\x18\n\x10iterationsChange\x18\x04 \x01(\x08\"=\n\x1c\x43hangeMasterPasswordResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\"Y\n\x1b\x41\x63\x63ountRecoverySetupRequest\x12 \n\x18recoveryEncryptedDataKey\x18\x01 \x01(\x0c\x12\x18\n\x10recoveryAuthHash\x18\x02 \x01(\x0c\"\xac\x01\n!AccountRecoveryVerifyCodeResponse\x12\x34\n\rbackupKeyType\x18\x01 \x01(\x0e\x32\x1d.Authentication.BackupKeyType\x12\x15\n\rbackupKeyDate\x18\x02 \x01(\x03\x12\x18\n\x10securityQuestion\x18\x03 \x01(\t\x12\x0c\n\x04salt\x18\x04 \x01(\x0c\x12\x12\n\niterations\x18\x05 \x01(\x05\",\n\x1b\x45mergencyAccessLoginRequest\x12\r\n\x05owner\x18\x01 \x01(\t\"\xb5\x01\n\x1c\x45mergencyAccessLoginResponse\x12\x14\n\x0csessionToken\x18\x01 \x01(\x0c\x12%\n\x07\x64\x61taKey\x18\x02 \x01(\x0b\x32\x14.Enterprise.TypedKey\x12+\n\rrsaPrivateKey\x18\x03 \x01(\x0b\x32\x14.Enterprise.TypedKey\x12+\n\reccPrivateKey\x18\x04 \x01(\x0b\x32\x14.Enterprise.TypedKey\"\xb2\x01\n\x0bUserTeamKey\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x1b\n\x13\x65ncryptedTeamKeyRSA\x18\x04 \x01(\x0c\x12\x1a\n\x12\x65ncryptedTeamKeyEC\x18\x05 \x01(\x0c\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.Authentication.GenericStatus\")\n\x16GenericRequestResponse\x12\x0f\n\x07request\x18\x01 \x03(\x0c\"f\n\x1aPasskeyRegistrationRequest\x12H\n\x17\x61uthenticatorAttachment\x18\x01 \x01(\x0e\x32\'.Authentication.AuthenticatorAttachment\"P\n\x1bPasskeyRegistrationResponse\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x19\n\x11pkCreationOptions\x18\x02 \x01(\t\"\x84\x01\n\x1fPasskeyRegistrationFinalization\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x1d\n\x15\x61uthenticatorResponse\x18\x02 \x01(\t\x12\x19\n\x0c\x66riendlyName\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_friendlyName\"\xb3\x02\n\x1cPasskeyAuthenticationRequest\x12H\n\x17\x61uthenticatorAttachment\x18\x01 \x01(\x0e\x32\'.Authentication.AuthenticatorAttachment\x12\x36\n\x0epasskeyPurpose\x18\x02 \x01(\x0e\x32\x1e.Authentication.PasskeyPurpose\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x04 \x01(\x0c\x12\x15\n\x08username\x18\x05 \x01(\tH\x00\x88\x01\x01\x12 \n\x13\x65ncryptedLoginToken\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x42\x0b\n\t_usernameB\x16\n\x14_encryptedLoginToken\"\x8b\x01\n\x1dPasskeyAuthenticationResponse\x12\x18\n\x10pkRequestOptions\x18\x01 \x01(\t\x12\x16\n\x0e\x63hallengeToken\x18\x02 \x01(\x0c\x12 \n\x13\x65ncryptedLoginToken\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\x16\n\x14_encryptedLoginToken\"\xbf\x01\n\x18PasskeyValidationRequest\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x19\n\x11\x61ssertionResponse\x18\x02 \x01(\x0c\x12\x36\n\x0epasskeyPurpose\x18\x03 \x01(\x0e\x32\x1e.Authentication.PasskeyPurpose\x12 \n\x13\x65ncryptedLoginToken\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42\x16\n\x14_encryptedLoginToken\"I\n\x19PasskeyValidationResponse\x12\x0f\n\x07isValid\x18\x01 \x01(\x08\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x02 \x01(\x0c\"h\n\x14UpdatePasskeyRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63redentialId\x18\x02 \x01(\x0c\x12\x19\n\x0c\x66riendlyName\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_friendlyName\"-\n\x12PasskeyListRequest\x12\x17\n\x0fincludeDisabled\x18\x01 \x01(\x08\"\xa4\x01\n\x0bPasskeyInfo\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63redentialId\x18\x02 \x01(\x0c\x12\x14\n\x0c\x66riendlyName\x18\x03 \x01(\t\x12\x0e\n\x06\x41\x41GUID\x18\x04 \x01(\t\x12\x17\n\x0f\x63reatedAtMillis\x18\x05 \x01(\x03\x12\x16\n\x0elastUsedMillis\x18\x06 \x01(\x03\x12\x18\n\x10\x64isabledAtMillis\x18\x07 \x01(\x03\"G\n\x13PasskeyListResponse\x12\x30\n\x0bpasskeyInfo\x18\x01 \x03(\x0b\x32\x1b.Authentication.PasskeyInfo\"C\n\x0fTranslationInfo\x12\x16\n\x0etranslationKey\x18\x01 \x01(\t\x12\x18\n\x10translationValue\x18\x02 \x01(\t\",\n\x12TranslationRequest\x12\x16\n\x0etranslationKey\x18\x01 \x03(\t\"O\n\x13TranslationResponse\x12\x38\n\x0ftranslationInfo\x18\x01 \x03(\x0b\x32\x1f.Authentication.TranslationInfo*\xd3\x02\n\x11SupportedLanguage\x12\x0b\n\x07\x45NGLISH\x10\x00\x12\n\n\x06\x41RABIC\x10\x01\x12\x0b\n\x07\x42RITISH\x10\x02\x12\x0b\n\x07\x43HINESE\x10\x03\x12\x15\n\x11\x43HINESE_HONG_KONG\x10\x04\x12\x12\n\x0e\x43HINESE_TAIWAN\x10\x05\x12\t\n\x05\x44UTCH\x10\x06\x12\n\n\x06\x46RENCH\x10\x07\x12\n\n\x06GERMAN\x10\x08\x12\t\n\x05GREEK\x10\t\x12\n\n\x06HEBREW\x10\n\x12\x0b\n\x07ITALIAN\x10\x0b\x12\x0c\n\x08JAPANESE\x10\x0c\x12\n\n\x06KOREAN\x10\r\x12\n\n\x06POLISH\x10\x0e\x12\x0e\n\nPORTUGUESE\x10\x0f\x12\x15\n\x11PORTUGUESE_BRAZIL\x10\x10\x12\x0c\n\x08ROMANIAN\x10\x11\x12\x0b\n\x07RUSSIAN\x10\x12\x12\n\n\x06SLOVAK\x10\x13\x12\x0b\n\x07SPANISH\x10\x14\x12\x0b\n\x07\x46INNISH\x10\x15\x12\x0b\n\x07SWEDISH\x10\x16*k\n\tLoginType\x12\n\n\x06NORMAL\x10\x00\x12\x07\n\x03SSO\x10\x01\x12\x07\n\x03\x42IO\x10\x02\x12\r\n\tALTERNATE\x10\x03\x12\x0b\n\x07OFFLINE\x10\x04\x12\x13\n\x0f\x46ORGOT_PASSWORD\x10\x05\x12\x0f\n\x0bPASSKEY_BIO\x10\x06*q\n\x0c\x44\x65viceStatus\x12\x19\n\x15\x44\x45VICE_NEEDS_APPROVAL\x10\x00\x12\r\n\tDEVICE_OK\x10\x01\x12\x1b\n\x17\x44\x45VICE_DISABLED_BY_USER\x10\x02\x12\x1a\n\x16\x44\x45VICE_LOCKED_BY_ADMIN\x10\x03*A\n\rLicenseStatus\x12\t\n\x05OTHER\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03*7\n\x0b\x41\x63\x63ountType\x12\x0c\n\x08\x43ONSUMER\x10\x00\x12\n\n\x06\x46\x41MILY\x10\x01\x12\x0e\n\nENTERPRISE\x10\x02*\x9f\x02\n\x10SessionTokenType\x12\x12\n\x0eNO_RESTRICTION\x10\x00\x12\x14\n\x10\x41\x43\x43OUNT_RECOVERY\x10\x01\x12\x11\n\rSHARE_ACCOUNT\x10\x02\x12\x0c\n\x08PURCHASE\x10\x03\x12\x0c\n\x08RESTRICT\x10\x04\x12\x11\n\rACCEPT_INVITE\x10\x05\x12\x12\n\x0eSUPPORT_SERVER\x10\x06\x12\x17\n\x13\x45NTERPRISE_CREATION\x10\x07\x12\x1f\n\x1b\x45XPIRED_BUT_ALLOWED_TO_SYNC\x10\x08\x12\x18\n\x14\x41\x43\x43\x45PT_FAMILY_INVITE\x10\t\x12!\n\x1d\x45NTERPRISE_CREATION_PURCHASED\x10\n\x12\x14\n\x10\x45MERGENCY_ACCESS\x10\x0b*G\n\x07Version\x12\x13\n\x0finvalid_version\x10\x00\x12\x13\n\x0f\x64\x65\x66\x61ult_version\x10\x01\x12\x12\n\x0esecond_version\x10\x02*7\n\x1fMasterPasswordReentryActionType\x12\n\n\x06UNMASK\x10\x00\x12\x08\n\x04\x43OPY\x10\x01*l\n\x0bLoginMethod\x12\x17\n\x13INVALID_LOGINMETHOD\x10\x00\x12\x14\n\x10\x45XISTING_ACCOUNT\x10\x01\x12\x0e\n\nSSO_DOMAIN\x10\x02\x12\r\n\tAFTER_SSO\x10\x03\x12\x0f\n\x0bNEW_ACCOUNT\x10\x04*\xbe\x04\n\nLoginState\x12\x16\n\x12INVALID_LOGINSTATE\x10\x00\x12\x0e\n\nLOGGED_OUT\x10\x01\x12\x1c\n\x18\x44\x45VICE_APPROVAL_REQUIRED\x10\x02\x12\x11\n\rDEVICE_LOCKED\x10\x03\x12\x12\n\x0e\x41\x43\x43OUNT_LOCKED\x10\x04\x12\x19\n\x15\x44\x45VICE_ACCOUNT_LOCKED\x10\x05\x12\x0b\n\x07UPGRADE\x10\x06\x12\x13\n\x0fLICENSE_EXPIRED\x10\x07\x12\x13\n\x0fREGION_REDIRECT\x10\x08\x12\x16\n\x12REDIRECT_CLOUD_SSO\x10\t\x12\x17\n\x13REDIRECT_ONSITE_SSO\x10\n\x12\x10\n\x0cREQUIRES_2FA\x10\x0c\x12\x16\n\x12REQUIRES_AUTH_HASH\x10\r\x12\x15\n\x11REQUIRES_USERNAME\x10\x0e\x12\x19\n\x15\x41\x46TER_CLOUD_SSO_LOGIN\x10\x0f\x12\x1d\n\x19REQUIRES_ACCOUNT_CREATION\x10\x10\x12&\n\"REQUIRES_DEVICE_ENCRYPTED_DATA_KEY\x10\x11\x12\x17\n\x13LOGIN_TOKEN_EXPIRED\x10\x12\x12\x1e\n\x1aPASSKEY_INITIATE_CHALLENGE\x10\x13\x12\x19\n\x15PASSKEY_AUTH_REQUIRED\x10\x14\x12!\n\x1dPASSKEY_VERIFY_AUTHENTICATION\x10\x15\x12\x17\n\x13\x41\x46TER_PASSKEY_LOGIN\x10\x16\x12\r\n\tLOGGED_IN\x10\x63*k\n\x14\x45ncryptedDataKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x18\n\x14\x42Y_DEVICE_PUBLIC_KEY\x10\x01\x12\x0f\n\x0b\x42Y_PASSWORD\x10\x02\x12\x10\n\x0c\x42Y_ALTERNATE\x10\x03\x12\n\n\x06\x42Y_BIO\x10\x04*-\n\x0ePasswordMethod\x12\x0b\n\x07\x45NTERED\x10\x00\x12\x0e\n\nBIOMETRICS\x10\x01*\xb9\x01\n\x11TwoFactorPushType\x12\x14\n\x10TWO_FA_PUSH_NONE\x10\x00\x12\x13\n\x0fTWO_FA_PUSH_SMS\x10\x01\x12\x16\n\x12TWO_FA_PUSH_KEEPER\x10\x02\x12\x18\n\x14TWO_FA_PUSH_DUO_PUSH\x10\x03\x12\x18\n\x14TWO_FA_PUSH_DUO_TEXT\x10\x04\x12\x18\n\x14TWO_FA_PUSH_DUO_CALL\x10\x05\x12\x13\n\x0fTWO_FA_PUSH_DNA\x10\x06*\xc3\x01\n\x12TwoFactorValueType\x12\x14\n\x10TWO_FA_CODE_NONE\x10\x00\x12\x14\n\x10TWO_FA_CODE_TOTP\x10\x01\x12\x13\n\x0fTWO_FA_CODE_SMS\x10\x02\x12\x13\n\x0fTWO_FA_CODE_DUO\x10\x03\x12\x13\n\x0fTWO_FA_CODE_RSA\x10\x04\x12\x13\n\x0fTWO_FA_RESP_U2F\x10\x05\x12\x18\n\x14TWO_FA_RESP_WEBAUTHN\x10\x06\x12\x13\n\x0fTWO_FA_CODE_DNA\x10\x07*\xe1\x01\n\x14TwoFactorChannelType\x12\x12\n\x0eTWO_FA_CT_NONE\x10\x00\x12\x12\n\x0eTWO_FA_CT_TOTP\x10\x01\x12\x11\n\rTWO_FA_CT_SMS\x10\x02\x12\x11\n\rTWO_FA_CT_DUO\x10\x03\x12\x11\n\rTWO_FA_CT_RSA\x10\x04\x12\x14\n\x10TWO_FA_CT_BACKUP\x10\x05\x12\x11\n\rTWO_FA_CT_U2F\x10\x06\x12\x16\n\x12TWO_FA_CT_WEBAUTHN\x10\x07\x12\x14\n\x10TWO_FA_CT_KEEPER\x10\x08\x12\x11\n\rTWO_FA_CT_DNA\x10\t*\xab\x01\n\x13TwoFactorExpiration\x12\x1a\n\x16TWO_FA_EXP_IMMEDIATELY\x10\x00\x12\x18\n\x14TWO_FA_EXP_5_MINUTES\x10\x01\x12\x17\n\x13TWO_FA_EXP_12_HOURS\x10\x02\x12\x17\n\x13TWO_FA_EXP_24_HOURS\x10\x03\x12\x16\n\x12TWO_FA_EXP_30_DAYS\x10\x04\x12\x14\n\x10TWO_FA_EXP_NEVER\x10\x05*@\n\x0bLicenseType\x12\t\n\x05VAULT\x10\x00\x12\x08\n\x04\x43HAT\x10\x01\x12\x0b\n\x07STORAGE\x10\x02\x12\x0f\n\x0b\x42REACHWATCH\x10\x03*i\n\x0bObjectTypes\x12\n\n\x06RECORD\x10\x00\x12\x16\n\x12SHARED_FOLDER_USER\x10\x01\x12\x16\n\x12SHARED_FOLDER_TEAM\x10\x02\x12\x0f\n\x0bUSER_FOLDER\x10\x03\x12\r\n\tTEAM_USER\x10\x04*\xa1\x02\n\x13\x45ncryptedObjectType\x12\x13\n\x0f\x45OT_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x45OT_RECORD_KEY\x10\x01\x12\x1e\n\x1a\x45OT_SHARED_FOLDER_USER_KEY\x10\x02\x12\x1e\n\x1a\x45OT_SHARED_FOLDER_TEAM_KEY\x10\x03\x12\x15\n\x11\x45OT_TEAM_USER_KEY\x10\x04\x12\x17\n\x13\x45OT_USER_FOLDER_KEY\x10\x05\x12\x15\n\x11\x45OT_SECURITY_DATA\x10\x06\x12%\n!EOT_SECURITY_DATA_MASTER_PASSWORD\x10\x07\x12\x1c\n\x18\x45OT_EMERGENCY_ACCESS_KEY\x10\x08\x12\x15\n\x11\x45OT_V2_RECORD_KEY\x10\t*M\n\x1bMasterPasswordReentryStatus\x12\x0e\n\nMP_UNKNOWN\x10\x00\x12\x0e\n\nMP_SUCCESS\x10\x01\x12\x0e\n\nMP_FAILURE\x10\x02*`\n\x1b\x41lternateAuthenticationType\x12\x1d\n\x19\x41LTERNATE_MASTER_PASSWORD\x10\x00\x12\r\n\tBIOMETRIC\x10\x01\x12\x13\n\x0f\x41\x43\x43OUNT_RECOVER\x10\x02*\x9a\x02\n\x0cThrottleType\x12\x1b\n\x17PASSWORD_RETRY_THROTTLE\x10\x00\x12\"\n\x1ePASSWORD_RETRY_LEGACY_THROTTLE\x10\x01\x12\x13\n\x0fTWO_FA_THROTTLE\x10\x02\x12\x1a\n\x16TWO_FA_LEGACY_THROTTLE\x10\x03\x12\x15\n\x11QA_RETRY_THROTTLE\x10\x04\x12\x1c\n\x18\x41\x43\x43OUNT_RECOVER_THROTTLE\x10\x05\x12.\n*VALIDATE_DEVICE_VERIFICATION_CODE_THROTTLE\x10\x06\x12\x33\n/VALIDATE_CREATE_USER_VERIFICATION_CODE_THROTTLE\x10\x07*H\n\x06Region\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02\x65u\x10\x01\x12\x06\n\x02us\x10\x02\x12\t\n\x05usgov\x10\x03\x12\x06\n\x02\x61u\x10\x04\x12\x06\n\x02jp\x10\x05\x12\x06\n\x02\x63\x61\x10\x06*D\n\x14\x41pplicationShareType\x12\x15\n\x11SHARE_TYPE_RECORD\x10\x00\x12\x15\n\x11SHARE_TYPE_FOLDER\x10\x01*\xa4\x01\n\x15TimeLimitedAccessType\x12$\n INVALID_TIME_LIMITED_ACCESS_TYPE\x10\x00\x12\x19\n\x15USER_ACCESS_TO_RECORD\x10\x01\x12\'\n#USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER\x10\x02\x12!\n\x1dRECORD_ACCESS_TO_SHAREDFOLDER\x10\x03*<\n\rBackupKeyType\x12\x12\n\x0e\x42KT_SEC_ANSWER\x10\x00\x12\x17\n\x13\x42KT_PASSPHRASE_HASH\x10\x01*r\n\rGenericStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x12\n\x0eINVALID_OBJECT\x10\x01\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x02\x12\x11\n\rACCESS_DENIED\x10\x03\x12\x19\n\x15LICENSE_SEAT_EXCEEDED\x10\x04*N\n\x17\x41uthenticatorAttachment\x12\x12\n\x0e\x43ROSS_PLATFORM\x10\x00\x12\x0c\n\x08PLATFORM\x10\x01\x12\x11\n\rALL_SUPPORTED\x10\x02*-\n\x0ePasskeyPurpose\x12\x0c\n\x08PK_LOGIN\x10\x00\x12\r\n\tPK_REAUTH\x10\x01*K\n\x10\x43lientFormFactor\x12\x0c\n\x08\x46\x46_EMPTY\x10\x00\x12\x0c\n\x08\x46\x46_PHONE\x10\x01\x12\r\n\tFF_TABLET\x10\x02\x12\x0c\n\x08\x46\x46_WATCH\x10\x03\x42*\n\x18\x63om.keepersecurity.protoB\x0e\x41uthenticationb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x41PIRequest.proto\x12\x0e\x41uthentication\x1a\x10\x65nterprise.proto\"{\n\rQrcMessageKey\x12\x19\n\x11\x63lientEcPublicKey\x18\x01 \x01(\x0c\x12\x1c\n\x14mlKemEncapsulatedKey\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x12\n\nmsgVersion\x18\x04 \x01(\x05\x12\x0f\n\x07\x65\x63KeyId\x18\x05 \x01(\x05\"\xe6\x01\n\nApiRequest\x12 \n\x18\x65ncryptedTransmissionKey\x18\x01 \x01(\x0c\x12\x13\n\x0bpublicKeyId\x18\x02 \x01(\x05\x12\x0e\n\x06locale\x18\x03 \x01(\t\x12\x18\n\x10\x65ncryptedPayload\x18\x04 \x01(\x0c\x12\x16\n\x0e\x65ncryptionType\x18\x05 \x01(\x05\x12\x11\n\trecaptcha\x18\x06 \x01(\t\x12\x16\n\x0esubEnvironment\x18\x07 \x01(\t\x12\x34\n\rqrcMessageKey\x18\x08 \x01(\x0b\x32\x1d.Authentication.QrcMessageKey\"j\n\x11\x41piRequestPayload\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x02 \x01(\x0c\x12\x11\n\ttimeToken\x18\x03 \x01(\x0c\x12\x12\n\napiVersion\x18\x04 \x01(\x05\"6\n\tTransform\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\"\xa0\x01\n\rDeviceRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x16\n\x0e\x64\x65vicePlatform\x18\x03 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x04 \x01(\x0e\x32 .Authentication.ClientFormFactor\x12\x10\n\x08username\x18\x05 \x01(\t\"T\n\x0b\x41uthRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x03 \x01(\x0c\"\xc3\x01\n\x14NewUserMinimumParams\x12\x19\n\x11minimumIterations\x18\x01 \x01(\x05\x12\x1a\n\x12passwordMatchRegex\x18\x02 \x03(\t\x12 \n\x18passwordMatchDescription\x18\x03 \x03(\t\x12\x1a\n\x12isEnterpriseDomain\x18\x04 \x01(\x08\x12\x1e\n\x16\x65nterpriseEccPublicKey\x18\x05 \x01(\x0c\x12\x16\n\x0e\x66orbidKeyType2\x18\x06 \x01(\x08\"\x89\x01\n\x0fPreLoginRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12,\n\tloginType\x18\x02 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x16\n\x0etwoFactorToken\x18\x03 \x01(\x0c\"\x80\x02\n\x0cLoginRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12,\n\tloginType\x18\x02 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x1f\n\x17\x61uthenticationHashPrime\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x04 \x01(\x0c\x12\x14\n\x0c\x61uthResponse\x18\x05 \x01(\x0c\x12\x16\n\x0emcEnterpriseId\x18\x06 \x01(\x05\x12\x12\n\npush_token\x18\x07 \x01(\t\x12\x10\n\x08platform\x18\x08 \x01(\t\"\\\n\x0e\x44\x65viceResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"V\n\x04Salt\x12\x12\n\niterations\x18\x01 \x01(\x05\x12\x0c\n\x04salt\x18\x02 \x01(\x0c\x12\x11\n\talgorithm\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x0c\x12\x0c\n\x04name\x18\x05 \x01(\t\" \n\x10TwoFactorChannel\x12\x0c\n\x04type\x18\x01 \x01(\x05\"\xfc\x02\n\x11StartLoginRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x05 \x01(\x0c\x12,\n\tloginType\x18\x06 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x16\n\x0emcEnterpriseId\x18\x07 \x01(\x05\x12\x30\n\x0bloginMethod\x18\x08 \x01(\x0e\x32\x1b.Authentication.LoginMethod\x12\x15\n\rforceNewLogin\x18\t \x01(\x08\x12\x11\n\tcloneCode\x18\n \x01(\x0c\x12\x18\n\x10v2TwoFactorToken\x18\x0b \x01(\t\x12\x12\n\naccountUid\x18\x0c \x01(\x0c\x12\x18\n\x10\x66romSessionToken\x18\r \x01(\x0c\"\xc1\x01\n\x08KeysInfo\x12\x18\n\x10\x65ncryptionParams\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptedDataKey\x18\x02 \x01(\x0c\x12\x19\n\x11\x64\x61taKeyBackupDate\x18\x03 \x01(\x01\x12\x13\n\x0buserAuthUid\x18\x04 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x05 \x01(\x0c\x12\x1e\n\x16\x65ncryptedEccPrivateKey\x18\x06 \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\x07 \x01(\x0c\"\xe6\x04\n\rLoginResponse\x12.\n\nloginState\x18\x01 \x01(\x0e\x32\x1a.Authentication.LoginState\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\x12\x17\n\x0fprimaryUsername\x18\x03 \x01(\t\x12\x18\n\x10\x65ncryptedDataKey\x18\x04 \x01(\x0c\x12\x42\n\x14\x65ncryptedDataKeyType\x18\x05 \x01(\x0e\x32$.Authentication.EncryptedDataKeyType\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x06 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x07 \x01(\x0c\x12:\n\x10sessionTokenType\x18\x08 \x01(\x0e\x32 .Authentication.SessionTokenType\x12\x0f\n\x07message\x18\t \x01(\t\x12\x0b\n\x03url\x18\n \x01(\t\x12\x36\n\x08\x63hannels\x18\x0b \x03(\x0b\x32$.Authentication.TwoFactorChannelInfo\x12\"\n\x04salt\x18\x0c \x03(\x0b\x32\x14.Authentication.Salt\x12\x11\n\tcloneCode\x18\r \x01(\x0c\x12\x1a\n\x12stateSpecificValue\x18\x0e \x01(\t\x12\x18\n\x10ssoClientVersion\x18\x0f \x01(\t\x12 \n\x18sessionTokenTypeModifier\x18\x10 \x01(\t\x12*\n\x08keysInfo\x18\x11 \x01(\x0b\x32\x18.Authentication.KeysInfo\x12\x11\n\tclientKey\x18\x12 \x01(\x0c\"v\n\x11SwitchListElement\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x14\n\x0c\x61uthRequired\x18\x03 \x01(\x08\x12\x10\n\x08isLinked\x18\x04 \x01(\x08\x12\x15\n\rprofilePicUrl\x18\x05 \x01(\t\"I\n\x12SwitchListResponse\x12\x33\n\x08\x65lements\x18\x01 \x03(\x0b\x32!.Authentication.SwitchListElement\"\x8c\x01\n\x0bSsoUserInfo\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\x12\x13\n\x0bsamlRequest\x18\x02 \x01(\t\x12\x17\n\x0fsamlRequestType\x18\x03 \x01(\t\x12\x15\n\rssoDomainName\x18\x04 \x01(\t\x12\x10\n\x08loginUrl\x18\x05 \x01(\t\x12\x11\n\tlogoutUrl\x18\x06 \x01(\t\"\xd6\x01\n\x10PreLoginResponse\x12\x32\n\x0c\x64\x65viceStatus\x18\x01 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\"\n\x04salt\x18\x02 \x03(\x0b\x32\x14.Authentication.Salt\x12\x38\n\x0eOBSOLETE_FIELD\x18\x03 \x03(\x0b\x32 .Authentication.TwoFactorChannel\x12\x30\n\x0bssoUserInfo\x18\x04 \x01(\x0b\x32\x1b.Authentication.SsoUserInfo\"&\n\x12LoginAsUserRequest\x12\x10\n\x08username\x18\x01 \x01(\t\"W\n\x13LoginAsUserResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12!\n\x19\x65ncryptedSharedAccountKey\x18\x02 \x01(\x0c\"\x84\x01\n\x17ValidateAuthHashRequest\x12\x36\n\x0epasswordMethod\x18\x01 \x01(\x0e\x32\x1e.Authentication.PasswordMethod\x12\x14\n\x0c\x61uthResponse\x18\x02 \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x03 \x01(\x0c\"\xdc\x02\n\x14TwoFactorChannelInfo\x12\x39\n\x0b\x63hannelType\x18\x01 \x01(\x0e\x32$.Authentication.TwoFactorChannelType\x12\x13\n\x0b\x63hannel_uid\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x03 \x01(\t\x12\x11\n\tchallenge\x18\x04 \x01(\t\x12\x14\n\x0c\x63\x61pabilities\x18\x05 \x03(\t\x12\x13\n\x0bphoneNumber\x18\x06 \x01(\t\x12:\n\rmaxExpiration\x18\x07 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\x12\x11\n\tcreatedOn\x18\x08 \x01(\x03\x12:\n\rlastFrequency\x18\t \x01(\x0e\x32#.Authentication.TwoFactorExpiration\x12\x16\n\x0e\x63hallengeToken\x18\n \x01(\x0c\"d\n\x12TwoFactorDuoStatus\x12\x14\n\x0c\x63\x61pabilities\x18\x01 \x03(\t\x12\x13\n\x0bphoneNumber\x18\x02 \x01(\t\x12\x12\n\nenroll_url\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"\xc7\x01\n\x13TwoFactorAddRequest\x12\x39\n\x0b\x63hannelType\x18\x01 \x01(\x0e\x32$.Authentication.TwoFactorChannelType\x12\x13\n\x0b\x63hannel_uid\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x03 \x01(\t\x12\x13\n\x0bphoneNumber\x18\x04 \x01(\t\x12\x36\n\x0b\x64uoPushType\x18\x05 \x01(\x0e\x32!.Authentication.TwoFactorPushType\"B\n\x16TwoFactorRenameRequest\x12\x13\n\x0b\x63hannel_uid\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63hannelName\x18\x02 \x01(\t\"=\n\x14TwoFactorAddResponse\x12\x11\n\tchallenge\x18\x01 \x01(\t\x12\x12\n\nbackupKeys\x18\x02 \x03(\t\"-\n\x16TwoFactorDeleteRequest\x12\x13\n\x0b\x63hannel_uid\x18\x01 \x01(\x0c\"a\n\x15TwoFactorListResponse\x12\x36\n\x08\x63hannels\x18\x01 \x03(\x0b\x32$.Authentication.TwoFactorChannelInfo\x12\x10\n\x08\x65xpireOn\x18\x02 \x01(\x03\"Y\n TwoFactorUpdateExpirationRequest\x12\x35\n\x08\x65xpireIn\x18\x01 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"\xe1\x01\n\x18TwoFactorValidateRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x35\n\tvalueType\x18\x02 \x01(\x0e\x32\".Authentication.TwoFactorValueType\x12\r\n\x05value\x18\x03 \x01(\t\x12\x13\n\x0b\x63hannel_uid\x18\x04 \x01(\x0c\x12\x35\n\x08\x65xpireIn\x18\x05 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\x12\x16\n\x0e\x63hallengeToken\x18\x06 \x01(\x0c\"8\n\x19TwoFactorValidateResponse\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\"\xb8\x01\n\x18TwoFactorSendPushRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x33\n\x08pushType\x18\x02 \x01(\x0e\x32!.Authentication.TwoFactorPushType\x12\x13\n\x0b\x63hannel_uid\x18\x03 \x01(\x0c\x12\x35\n\x08\x65xpireIn\x18\x04 \x01(\x0e\x32#.Authentication.TwoFactorExpiration\"\x83\x01\n\x07License\x12\x0f\n\x07\x63reated\x18\x01 \x01(\x03\x12\x12\n\nexpiration\x18\x02 \x01(\x03\x12\x34\n\rlicenseStatus\x18\x03 \x01(\x0e\x32\x1d.Authentication.LicenseStatus\x12\x0c\n\x04paid\x18\x04 \x01(\x08\x12\x0f\n\x07message\x18\x05 \x01(\t\"G\n\x0fOwnerlessRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12\x0e\n\x06status\x18\x03 \x01(\x05\"L\n\x10OwnerlessRecords\x12\x38\n\x0fownerlessRecord\x18\x01 \x03(\x0b\x32\x1f.Authentication.OwnerlessRecord\"\xd7\x01\n\x0fUserAuthRequest\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04salt\x18\x02 \x01(\x0c\x12\x12\n\niterations\x18\x03 \x01(\x05\x12\x1a\n\x12\x65ncryptedClientKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x61uthHash\x18\x05 \x01(\x0c\x12\x18\n\x10\x65ncryptedDataKey\x18\x06 \x01(\x0c\x12,\n\tloginType\x18\x07 \x01(\x0e\x32\x19.Authentication.LoginType\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x11\n\talgorithm\x18\t \x01(\x05\"\x19\n\nUidRequest\x12\x0b\n\x03uid\x18\x01 \x03(\x0c\"\xff\x01\n\x13\x44\x65viceUpdateRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\x16\n\x0e\x64\x65vicePlatform\x18\x06 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x07 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\x80\x02\n\x14\x44\x65viceUpdateResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\x12\x16\n\x0e\x64\x65vicePlatform\x18\x06 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x07 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\xd5\x01\n\x1dRegisterDeviceInRegionRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x12\n\ndeviceName\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x16\n\x0e\x64\x65vicePlatform\x18\x05 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x06 \x01(\x0e\x32 .Authentication.ClientFormFactor\"\xf8\x02\n\x13RegistrationRequest\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12\x38\n\x0fuserAuthRequest\x18\x02 \x01(\x0b\x32\x1f.Authentication.UserAuthRequest\x12\x1a\n\x12\x65ncryptedClientKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tpublicKey\x18\x05 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65precatedAuthHashHash\x18\x07 \x01(\x0c\x12$\n\x1c\x64\x65precatedEncryptedClientKey\x18\x08 \x01(\x0c\x12%\n\x1d\x64\x65precatedEncryptedPrivateKey\x18\t \x01(\x0c\x12\"\n\x1a\x64\x65precatedEncryptionParams\x18\n \x01(\x0c\"\xd0\x01\n\x16\x43onvertUserToV3Request\x12\x30\n\x0b\x61uthRequest\x18\x01 \x01(\x0b\x32\x1b.Authentication.AuthRequest\x12\x38\n\x0fuserAuthRequest\x18\x02 \x01(\x0b\x32\x1f.Authentication.UserAuthRequest\x12\x1a\n\x12\x65ncryptedClientKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tpublicKey\x18\x05 \x01(\x0c\"$\n\x10RevisionResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\"&\n\x12\x43hangeEmailRequest\x12\x10\n\x08newEmail\x18\x01 \x01(\t\"8\n\x13\x43hangeEmailResponse\x12!\n\x19\x65ncryptedChangeEmailToken\x18\x01 \x01(\x0c\"6\n\x1d\x45mailVerificationLinkResponse\x12\x15\n\remailVerified\x18\x01 \x01(\x08\")\n\x0cSecurityData\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"@\n\x11SecurityScoreData\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\"\x8b\x02\n\x13SecurityDataRequest\x12\x38\n\x12recordSecurityData\x18\x01 \x03(\x0b\x32\x1c.Authentication.SecurityData\x12@\n\x1amasterPasswordSecurityData\x18\x02 \x03(\x0b\x32\x1c.Authentication.SecurityData\x12\x34\n\x0e\x65ncryptionType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x42\n\x17recordSecurityScoreData\x18\x04 \x03(\x0b\x32!.Authentication.SecurityScoreData\"\xc6\x02\n\x1dSecurityReportIncrementalData\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1b\n\x13\x63urrentSecurityData\x18\x02 \x01(\x0c\x12#\n\x1b\x63urrentSecurityDataRevision\x18\x03 \x01(\x03\x12\x17\n\x0foldSecurityData\x18\x04 \x01(\x0c\x12\x1f\n\x17oldSecurityDataRevision\x18\x05 \x01(\x03\x12?\n\x19\x63urrentDataEncryptionType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12;\n\x15oldDataEncryptionType\x18\x07 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x11\n\trecordUid\x18\x08 \x01(\x0c\"\x9f\x02\n\x0eSecurityReport\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1b\n\x13\x65ncryptedReportData\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x11\n\ttwoFactor\x18\x04 \x01(\t\x12\x11\n\tlastLogin\x18\x05 \x01(\x03\x12\x1e\n\x16numberOfReusedPassword\x18\x06 \x01(\x05\x12T\n\x1dsecurityReportIncrementalData\x18\x07 \x03(\x0b\x32-.Authentication.SecurityReportIncrementalData\x12\x0e\n\x06userId\x18\x08 \x01(\x05\x12\x18\n\x10hasOldEncryption\x18\t \x01(\x08\"n\n\x19SecurityReportSaveRequest\x12\x36\n\x0esecurityReport\x18\x01 \x03(\x0b\x32\x1e.Authentication.SecurityReport\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\")\n\x15SecurityReportRequest\x12\x10\n\x08\x66romPage\x18\x01 \x01(\x03\"\xf5\x01\n\x16SecurityReportResponse\x12\x1c\n\x14\x65nterprisePrivateKey\x18\x01 \x01(\x0c\x12\x36\n\x0esecurityReport\x18\x02 \x03(\x0b\x32\x1e.Authentication.SecurityReport\x12\x14\n\x0c\x61sOfRevision\x18\x03 \x01(\x03\x12\x10\n\x08\x66romPage\x18\x04 \x01(\x03\x12\x0e\n\x06toPage\x18\x05 \x01(\x03\x12\x10\n\x08\x63omplete\x18\x06 \x01(\x08\x12\x1f\n\x17\x65nterpriseEccPrivateKey\x18\x07 \x01(\x0c\x12\x1a\n\x12hasIncrementalData\x18\x08 \x01(\x08\";\n\x1eIncrementalSecurityDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\x92\x01\n\x1fIncrementalSecurityDataResponse\x12T\n\x1dsecurityReportIncrementalData\x18\x01 \x03(\x0b\x32-.Authentication.SecurityReportIncrementalData\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\"\'\n\x16ReusedPasswordsRequest\x12\r\n\x05\x63ount\x18\x01 \x01(\x05\">\n\x14SummaryConsoleReport\x12\x12\n\nreportType\x18\x01 \x01(\x05\x12\x12\n\nreportData\x18\x02 \x01(\x0c\"|\n\x12\x43hangeToKeyTypeOne\x12/\n\nobjectType\x18\x01 \x01(\x0e\x32\x1b.Authentication.ObjectTypes\x12\x12\n\nprimaryUid\x18\x02 \x01(\x0c\x12\x14\n\x0csecondaryUid\x18\x03 \x01(\x0c\x12\x0b\n\x03key\x18\x04 \x01(\x0c\"[\n\x19\x43hangeToKeyTypeOneRequest\x12>\n\x12\x63hangeToKeyTypeOne\x18\x01 \x03(\x0b\x32\".Authentication.ChangeToKeyTypeOne\"U\n\x18\x43hangeToKeyTypeOneStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\"h\n\x1a\x43hangeToKeyTypeOneResponse\x12J\n\x18\x63hangeToKeyTypeOneStatus\x18\x01 \x03(\x0b\x32(.Authentication.ChangeToKeyTypeOneStatus\"\xb9\x01\n\x18GetChangeKeyTypesRequest\x12=\n\x10onlyTheseObjects\x18\x01 \x03(\x0e\x32#.Authentication.EncryptedObjectType\x12\r\n\x05limit\x18\x02 \x01(\x05\x12\x1a\n\x12includeRecommended\x18\x03 \x01(\x08\x12\x13\n\x0bincludeKeys\x18\x04 \x01(\x08\x12\x1e\n\x16includeAllowedKeyTypes\x18\x05 \x01(\x08\"\x82\x01\n\x19GetChangeKeyTypesResponse\x12+\n\x04keys\x18\x01 \x03(\x0b\x32\x1d.Authentication.ChangeKeyType\x12\x38\n\x0f\x61llowedKeyTypes\x18\x02 \x03(\x0b\x32\x1f.Authentication.AllowedKeyTypes\"\x81\x01\n\x0f\x41llowedKeyTypes\x12\x37\n\nobjectType\x18\x01 \x01(\x0e\x32#.Authentication.EncryptedObjectType\x12\x35\n\x0f\x61llowedKeyTypes\x18\x02 \x03(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"=\n\x0e\x43hangeKeyTypes\x12+\n\x04keys\x18\x01 \x03(\x0b\x32\x1d.Authentication.ChangeKeyType\"\xd6\x01\n\rChangeKeyType\x12\x37\n\nobjectType\x18\x01 \x01(\x0e\x32#.Authentication.EncryptedObjectType\x12\x0b\n\x03uid\x18\x02 \x01(\x0c\x12\x14\n\x0csecondaryUid\x18\x03 \x01(\x0c\x12\x0b\n\x03key\x18\x04 \x01(\x0c\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.Authentication.GenericStatus\"!\n\x06SetKey\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03key\x18\x02 \x01(\x0c\"5\n\rSetKeyRequest\x12$\n\x04keys\x18\x01 \x03(\x0b\x32\x16.Authentication.SetKey\"\x92\x05\n\x11\x43reateUserRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x61uthVerifier\x18\x02 \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\x03 \x01(\x0c\x12\x14\n\x0crsaPublicKey\x18\x04 \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x05 \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\x06 \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x07 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x08 \x01(\x0c\x12\x1a\n\x12\x65ncryptedClientKey\x18\t \x01(\x0c\x12\x15\n\rclientVersion\x18\n \x01(\t\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x0b \x01(\x0c\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x0c \x01(\x0c\x12\x19\n\x11messageSessionUid\x18\r \x01(\x0c\x12\x17\n\x0finstallReferrer\x18\x0e \x01(\t\x12\x0e\n\x06mccMNC\x18\x0f \x01(\x05\x12\x0b\n\x03mfg\x18\x10 \x01(\t\x12\r\n\x05model\x18\x11 \x01(\t\x12\r\n\x05\x62rand\x18\x12 \x01(\t\x12\x0f\n\x07product\x18\x13 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x14 \x01(\t\x12\x0f\n\x07\x63\x61rrier\x18\x15 \x01(\t\x12\x18\n\x10verificationCode\x18\x16 \x01(\t\x12\x42\n\x16\x65nterpriseRegistration\x18\x17 \x01(\x0b\x32\".Enterprise.EnterpriseRegistration\x12\"\n\x1a\x65ncryptedVerificationToken\x18\x18 \x01(\x0c\x12\x1e\n\x16\x65nterpriseUsersDataKey\x18\x19 \x01(\x0c\"W\n!NodeEnforcementAddOrUpdateRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x65nforcement\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"C\n\x1cNodeEnforcementRemoveRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x65nforcement\x18\x02 \x01(\t\"\xb7\x01\n\x0f\x41piRequestByKey\x12\r\n\x05keyId\x18\x01 \x01(\x05\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12<\n\x11supportedLanguage\x18\x05 \x01(\x0e\x32!.Authentication.SupportedLanguage\x12\x0c\n\x04type\x18\x06 \x01(\x05\x12\x16\n\x0eparentThreadId\x18\x07 \x01(\t\"\xc7\x01\n\x15\x41piRequestByKAtoKAKey\x12,\n\x0csourceRegion\x18\x01 \x01(\x0e\x32\x16.Authentication.Region\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12<\n\x11supportedLanguage\x18\x03 \x01(\x0e\x32!.Authentication.SupportedLanguage\x12\x31\n\x11\x64\x65stinationRegion\x18\x04 \x01(\x0e\x32\x16.Authentication.Region\".\n\x0fMemcacheRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\x05\".\n\x10MemcacheResponse\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"w\n\x1cMasterPasswordReentryRequest\x12\x16\n\x0epbkdf2Password\x18\x01 \x01(\t\x12?\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32/.Authentication.MasterPasswordReentryActionType\"\\\n\x1dMasterPasswordReentryResponse\x12;\n\x06status\x18\x01 \x01(\x0e\x32+.Authentication.MasterPasswordReentryStatus\"\xc5\x01\n\x19\x44\x65viceRegistrationRequest\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x03 \x01(\x0c\x12\x16\n\x0e\x64\x65vicePlatform\x18\x04 \x01(\t\x12:\n\x10\x63lientFormFactor\x18\x05 \x01(\x0e\x32 .Authentication.ClientFormFactor\x12\x10\n\x08username\x18\x06 \x01(\t\"\x9a\x01\n\x19\x44\x65viceVerificationRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x1b\n\x13verificationChannel\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x15\n\rclientVersion\x18\x05 \x01(\t\"\xb2\x01\n\x1a\x44\x65viceVerificationResponse\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x03 \x01(\x0c\x12\x15\n\rclientVersion\x18\x04 \x01(\t\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"\xc8\x01\n\x15\x44\x65viceApprovalRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x18\n\x10twoFactorChannel\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x0e\n\x06locale\x18\x04 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x05 \x01(\x0c\x12\x10\n\x08totpCode\x18\x06 \x01(\t\x12\x10\n\x08\x64\x65viceIp\x18\x07 \x01(\t\x12\x1d\n\x15\x64\x65viceTokenExpireDays\x18\x08 \x01(\t\"9\n\x16\x44\x65viceApprovalResponse\x12\x1f\n\x17\x65ncryptedTwoFactorToken\x18\x01 \x01(\x0c\"~\n\x14\x41pproveDeviceRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64\x65nyApproval\x18\x03 \x01(\x08\x12\x12\n\nlinkDevice\x18\x04 \x01(\x08\"E\n\x1a\x45nterpriseUserAliasRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"Y\n\x1d\x45nterpriseUserAddAliasRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x0f\n\x07primary\x18\x03 \x01(\x08\"w\n\x1f\x45nterpriseUserAddAliasRequestV2\x12T\n\x1d\x65nterpriseUserAddAliasRequest\x18\x01 \x03(\x0b\x32-.Authentication.EnterpriseUserAddAliasRequest\"H\n\x1c\x45nterpriseUserAddAliasStatus\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06status\x18\x02 \x01(\t\"^\n\x1e\x45nterpriseUserAddAliasResponse\x12<\n\x06status\x18\x01 \x03(\x0b\x32,.Authentication.EnterpriseUserAddAliasStatus\"&\n\x06\x44\x65vice\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\"\\\n\x1cRegisterDeviceDataKeyRequest\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x01 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x02 \x01(\x0c\"n\n)ValidateCreateUserVerificationCodeRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\"\xa3\x01\n%ValidateDeviceVerificationCodeRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\x12\x19\n\x11messageSessionUid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x05 \x01(\x0c\"Y\n\x19SendSessionMessageRequest\x12\x19\n\x11messageSessionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\"M\n\x11GlobalUserAccount\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\x12\x12\n\nregionName\x18\x03 \x01(\t\"7\n\x0f\x41\x63\x63ountUsername\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x12\n\ndateActive\x18\x02 \x01(\t\"P\n\x19SsoServiceProviderRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x0e\n\x06locale\x18\x03 \x01(\t\"a\n\x1aSsoServiceProviderResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05spUrl\x18\x02 \x01(\t\x12\x0f\n\x07isCloud\x18\x03 \x01(\x08\x12\x15\n\rclientVersion\x18\x04 \x01(\t\"4\n\x12UserSettingRequest\x12\x0f\n\x07setting\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"f\n\rThrottleState\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.Authentication.ThrottleType\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\x08\"\xb5\x01\n\x0eThrottleState2\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x16\n\x0ekeyDescription\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x18\n\x10valueDescription\x18\x04 \x01(\t\x12\x12\n\nidentifier\x18\x05 \x01(\t\x12\x0e\n\x06locked\x18\x06 \x01(\x08\x12\x1a\n\x12includedInAllClear\x18\x07 \x01(\x08\x12\x15\n\rexpireSeconds\x18\x08 \x01(\x05\"\x97\x01\n\x11\x44\x65viceInformation\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\x03\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x11\n\tlastLogin\x18\x04 \x01(\x03\x12\x32\n\x0c\x64\x65viceStatus\x18\x05 \x01(\x0e\x32\x1c.Authentication.DeviceStatus\"*\n\x0bUserSetting\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08\".\n\x12UserDataKeyRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\"+\n\x18UserDataKeyByNodeRequest\x12\x0f\n\x07nodeIds\x18\x01 \x03(\x03\"\x80\x01\n\x1b\x45nterpriseUserIdDataKeyPair\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x18\n\x10\x65ncryptedDataKey\x18\x02 \x01(\x0c\x12-\n\x07keyType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x95\x01\n\x0bUserDataKey\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x0f\n\x07roleKey\x18\x02 \x01(\x0c\x12\x12\n\nprivateKey\x18\x03 \x01(\t\x12Q\n\x1c\x65nterpriseUserIdDataKeyPairs\x18\x04 \x03(\x0b\x32+.Authentication.EnterpriseUserIdDataKeyPair\"z\n\x13UserDataKeyResponse\x12\x31\n\x0cuserDataKeys\x18\x01 \x03(\x0b\x32\x1b.Authentication.UserDataKey\x12\x14\n\x0c\x61\x63\x63\x65ssDenied\x18\x02 \x03(\x03\x12\x1a\n\x12noEncryptedDataKey\x18\x03 \x03(\x03\"H\n)MasterPasswordRecoveryVerificationRequest\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\"U\n\x1cGetSecurityQuestionV3Request\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\"r\n\x1dGetSecurityQuestionV3Response\x12\x18\n\x10securityQuestion\x18\x01 \x01(\t\x12\x15\n\rbackupKeyDate\x18\x02 \x01(\x03\x12\x0c\n\x04salt\x18\x03 \x01(\x0c\x12\x12\n\niterations\x18\x04 \x01(\x05\"n\n\x19GetDataKeyBackupV3Request\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x01 \x01(\x0c\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\x12\x1a\n\x12securityAnswerHash\x18\x03 \x01(\x0c\"v\n\rPasswordRules\x12\x10\n\x08ruleType\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\x08\x12\x0f\n\x07pattern\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x0f\n\x07minimum\x18\x05 \x01(\x05\x12\r\n\x05value\x18\x06 \x01(\t\"\xc9\x02\n\x1aGetDataKeyBackupV3Response\x12\x15\n\rdataKeyBackup\x18\x01 \x01(\x0c\x12\x19\n\x11\x64\x61taKeyBackupDate\x18\x02 \x01(\x03\x12\x11\n\tpublicKey\x18\x03 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x04 \x01(\x0c\x12\x11\n\tclientKey\x18\x05 \x01(\x0c\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x06 \x01(\x0c\x12\x34\n\rpasswordRules\x18\x07 \x03(\x0b\x32\x1d.Authentication.PasswordRules\x12\x1a\n\x12passwordRulesIntro\x18\x08 \x01(\t\x12\x1f\n\x17minimumPbkdf2Iterations\x18\t \x01(\x05\x12$\n\x07keyType\x18\n \x01(\x0e\x32\x13.Enterprise.KeyType\")\n\x14GetPublicKeysRequest\x12\x11\n\tusernames\x18\x01 \x03(\t\"\x86\x01\n\x11PublicKeyResponse\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x14\n\x0cpublicEccKey\x18\x03 \x01(\x0c\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x11\n\terrorCode\x18\x05 \x01(\t\x12\x12\n\naccountUid\x18\x06 \x01(\x0c\"P\n\x15GetPublicKeysResponse\x12\x37\n\x0ckeyResponses\x18\x01 \x03(\x0b\x32!.Authentication.PublicKeyResponse\"F\n\x14SetEccKeyPairRequest\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x02 \x01(\x0c\"I\n\x15SetEccKeyPairsRequest\x12\x30\n\x08teamKeys\x18\x01 \x03(\x0b\x32\x1e.Authentication.TeamEccKeyPair\"R\n\x16SetEccKeyPairsResponse\x12\x38\n\x08teamKeys\x18\x01 \x03(\x0b\x32&.Authentication.TeamEccKeyPairResponse\"Q\n\x0eTeamEccKeyPair\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x1b\n\x13\x65ncryptedPrivateKey\x18\x03 \x01(\x0c\"X\n\x16TeamEccKeyPairResponse\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.Authentication.GenericStatus\"D\n\x17GetKsmPublicKeysRequest\x12\x11\n\tclientIds\x18\x01 \x03(\x0c\x12\x16\n\x0e\x63ontrollerUids\x18\x02 \x03(\x0c\"U\n\x17\x44\x65vicePublicKeyResponse\x12\x10\n\x08\x63lientId\x18\x01 \x01(\x0c\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\"Y\n\x18GetKsmPublicKeysResponse\x12=\n\x0ckeyResponses\x18\x01 \x03(\x0b\x32\'.Authentication.DevicePublicKeyResponse\"X\n\x13\x41\x64\x64\x41ppSharesRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12+\n\x06shares\x18\x02 \x03(\x0b\x32\x1b.Authentication.AppShareAdd\">\n\x16RemoveAppSharesRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06shares\x18\x02 \x03(\x0c\"\x87\x01\n\x0b\x41ppShareAdd\x12\x11\n\tsecretUid\x18\x02 \x01(\x0c\x12\x37\n\tshareType\x18\x03 \x01(\x0e\x32$.Authentication.ApplicationShareType\x12\x1a\n\x12\x65ncryptedSecretKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x65\x64itable\x18\x05 \x01(\x08\"\x89\x01\n\x08\x41ppShare\x12\x11\n\tsecretUid\x18\x01 \x01(\x0c\x12\x37\n\tshareType\x18\x02 \x01(\x0e\x32$.Authentication.ApplicationShareType\x12\x10\n\x08\x65\x64itable\x18\x03 \x01(\x08\x12\x11\n\tcreatedOn\x18\x04 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"\xd9\x01\n\x13\x41\x64\x64\x41ppClientRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0f\x65ncryptedAppKey\x18\x02 \x01(\x0c\x12\x10\n\x08\x63lientId\x18\x03 \x01(\x0c\x12\x0e\n\x06lockIp\x18\x04 \x01(\x08\x12\x1b\n\x13\x66irstAccessExpireOn\x18\x05 \x01(\x03\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\x06 \x01(\x03\x12\n\n\x02id\x18\x07 \x01(\t\x12\x30\n\rappClientType\x18\x08 \x01(\x0e\x32\x19.Enterprise.AppClientType\"@\n\x17RemoveAppClientsRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63lients\x18\x02 \x03(\x0c\"\xaa\x01\n\x17\x41\x64\x64\x45xternalShareRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x02 \x01(\x0c\x12\x10\n\x08\x63lientId\x18\x03 \x01(\x0c\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\x04 \x01(\x03\x12\n\n\x02id\x18\x05 \x01(\t\x12\x16\n\x0eisSelfDestruct\x18\x06 \x01(\x08\x12\x12\n\nisEditable\x18\x07 \x01(\x08\"\x93\x02\n\tAppClient\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08\x63lientId\x18\x02 \x01(\x0c\x12\x11\n\tcreatedOn\x18\x03 \x01(\x03\x12\x13\n\x0b\x66irstAccess\x18\x04 \x01(\x03\x12\x12\n\nlastAccess\x18\x05 \x01(\x03\x12\x11\n\tpublicKey\x18\x06 \x01(\x0c\x12\x0e\n\x06lockIp\x18\x07 \x01(\x08\x12\x11\n\tipAddress\x18\x08 \x01(\t\x12\x1b\n\x13\x66irstAccessExpireOn\x18\t \x01(\x03\x12\x16\n\x0e\x61\x63\x63\x65ssExpireOn\x18\n \x01(\x03\x12\x30\n\rappClientType\x18\x0b \x01(\x0e\x32\x19.Enterprise.AppClientType\x12\x0f\n\x07\x63\x61nEdit\x18\x0c \x01(\x08\")\n\x11GetAppInfoRequest\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x03(\x0c\"\x8e\x01\n\x07\x41ppInfo\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12(\n\x06shares\x18\x02 \x03(\x0b\x32\x18.Authentication.AppShare\x12*\n\x07\x63lients\x18\x03 \x03(\x0b\x32\x19.Authentication.AppClient\x12\x17\n\x0fisExternalShare\x18\x04 \x01(\x08\">\n\x12GetAppInfoResponse\x12(\n\x07\x61ppInfo\x18\x01 \x03(\x0b\x32\x17.Authentication.AppInfo\"\xd5\x01\n\x12\x41pplicationSummary\x12\x14\n\x0c\x61ppRecordUid\x18\x01 \x01(\x0c\x12\x12\n\nlastAccess\x18\x02 \x01(\x03\x12\x14\n\x0crecordShares\x18\x03 \x01(\x05\x12\x14\n\x0c\x66olderShares\x18\x04 \x01(\x05\x12\x15\n\rfolderRecords\x18\x05 \x01(\x05\x12\x13\n\x0b\x63lientCount\x18\x06 \x01(\x05\x12\x1a\n\x12\x65xpiredClientCount\x18\x07 \x01(\x05\x12\x10\n\x08username\x18\x08 \x01(\t\x12\x0f\n\x07\x61ppData\x18\t \x01(\x0c\"`\n\x1eGetApplicationsSummaryResponse\x12>\n\x12\x61pplicationSummary\x18\x01 \x03(\x0b\x32\".Authentication.ApplicationSummary\"/\n\x1bGetVerificationTokenRequest\x12\x10\n\x08username\x18\x01 \x01(\t\"B\n\x1cGetVerificationTokenResponse\x12\"\n\x1a\x65ncryptedVerificationToken\x18\x01 \x01(\x0c\"\'\n\x16SendShareInviteRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\"\xc5\x01\n\x18TimeLimitedAccessRequest\x12\x12\n\naccountUid\x18\x01 \x03(\x0c\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\x12\x11\n\trecordUid\x18\x03 \x03(\x0c\x12\x17\n\x0fsharedObjectUid\x18\x04 \x01(\x0c\x12\x44\n\x15timeLimitedAccessType\x18\x05 \x01(\x0e\x32%.Authentication.TimeLimitedAccessType\x12\x12\n\nexpiration\x18\x06 \x01(\x03\"7\n\x17TimeLimitedAccessStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xf8\x01\n\x19TimeLimitedAccessResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12\x41\n\x10userAccessStatus\x18\x02 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\x12\x41\n\x10teamAccessStatus\x18\x03 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\x12\x43\n\x12recordAccessStatus\x18\x04 \x03(\x0b\x32\'.Authentication.TimeLimitedAccessStatus\"+\n\x16RequestDownloadRequest\x12\x11\n\tfileNames\x18\x01 \x03(\t\"g\n\x17RequestDownloadResponse\x12\x0e\n\x06result\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12+\n\tdownloads\x18\x03 \x03(\x0b\x32\x18.Authentication.Download\"D\n\x08\x44ownload\x12\x10\n\x08\x66ileName\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x19\n\x11successStatusCode\x18\x03 \x01(\x05\"#\n\x11\x44\x65leteUserRequest\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\x84\x01\n\x1b\x43hangeMasterPasswordRequest\x12\x14\n\x0c\x61uthVerifier\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\x02 \x01(\x0c\x12\x1b\n\x13\x66romServiceProvider\x18\x03 \x01(\x08\x12\x18\n\x10iterationsChange\x18\x04 \x01(\x08\"=\n\x1c\x43hangeMasterPasswordResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\"Y\n\x1b\x41\x63\x63ountRecoverySetupRequest\x12 \n\x18recoveryEncryptedDataKey\x18\x01 \x01(\x0c\x12\x18\n\x10recoveryAuthHash\x18\x02 \x01(\x0c\"\xac\x01\n!AccountRecoveryVerifyCodeResponse\x12\x34\n\rbackupKeyType\x18\x01 \x01(\x0e\x32\x1d.Authentication.BackupKeyType\x12\x15\n\rbackupKeyDate\x18\x02 \x01(\x03\x12\x18\n\x10securityQuestion\x18\x03 \x01(\t\x12\x0c\n\x04salt\x18\x04 \x01(\x0c\x12\x12\n\niterations\x18\x05 \x01(\x05\",\n\x1b\x45mergencyAccessLoginRequest\x12\r\n\x05owner\x18\x01 \x01(\t\"\xb5\x01\n\x1c\x45mergencyAccessLoginResponse\x12\x14\n\x0csessionToken\x18\x01 \x01(\x0c\x12%\n\x07\x64\x61taKey\x18\x02 \x01(\x0b\x32\x14.Enterprise.TypedKey\x12+\n\rrsaPrivateKey\x18\x03 \x01(\x0b\x32\x14.Enterprise.TypedKey\x12+\n\reccPrivateKey\x18\x04 \x01(\x0b\x32\x14.Enterprise.TypedKey\"\xb2\x01\n\x0bUserTeamKey\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x1b\n\x13\x65ncryptedTeamKeyRSA\x18\x04 \x01(\x0c\x12\x1a\n\x12\x65ncryptedTeamKeyEC\x18\x05 \x01(\x0c\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.Authentication.GenericStatus\")\n\x16GenericRequestResponse\x12\x0f\n\x07request\x18\x01 \x03(\x0c\"f\n\x1aPasskeyRegistrationRequest\x12H\n\x17\x61uthenticatorAttachment\x18\x01 \x01(\x0e\x32\'.Authentication.AuthenticatorAttachment\"P\n\x1bPasskeyRegistrationResponse\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x19\n\x11pkCreationOptions\x18\x02 \x01(\t\"\x84\x01\n\x1fPasskeyRegistrationFinalization\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x1d\n\x15\x61uthenticatorResponse\x18\x02 \x01(\t\x12\x19\n\x0c\x66riendlyName\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_friendlyName\"\xb3\x02\n\x1cPasskeyAuthenticationRequest\x12H\n\x17\x61uthenticatorAttachment\x18\x01 \x01(\x0e\x32\'.Authentication.AuthenticatorAttachment\x12\x36\n\x0epasskeyPurpose\x18\x02 \x01(\x0e\x32\x1e.Authentication.PasskeyPurpose\x12\x15\n\rclientVersion\x18\x03 \x01(\t\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x04 \x01(\x0c\x12\x15\n\x08username\x18\x05 \x01(\tH\x00\x88\x01\x01\x12 \n\x13\x65ncryptedLoginToken\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x42\x0b\n\t_usernameB\x16\n\x14_encryptedLoginToken\"\x8b\x01\n\x1dPasskeyAuthenticationResponse\x12\x18\n\x10pkRequestOptions\x18\x01 \x01(\t\x12\x16\n\x0e\x63hallengeToken\x18\x02 \x01(\x0c\x12 \n\x13\x65ncryptedLoginToken\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\x16\n\x14_encryptedLoginToken\"\xbf\x01\n\x18PasskeyValidationRequest\x12\x16\n\x0e\x63hallengeToken\x18\x01 \x01(\x0c\x12\x19\n\x11\x61ssertionResponse\x18\x02 \x01(\x0c\x12\x36\n\x0epasskeyPurpose\x18\x03 \x01(\x0e\x32\x1e.Authentication.PasskeyPurpose\x12 \n\x13\x65ncryptedLoginToken\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42\x16\n\x14_encryptedLoginToken\"I\n\x19PasskeyValidationResponse\x12\x0f\n\x07isValid\x18\x01 \x01(\x08\x12\x1b\n\x13\x65ncryptedLoginToken\x18\x02 \x01(\x0c\"h\n\x14UpdatePasskeyRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63redentialId\x18\x02 \x01(\x0c\x12\x19\n\x0c\x66riendlyName\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_friendlyName\"-\n\x12PasskeyListRequest\x12\x17\n\x0fincludeDisabled\x18\x01 \x01(\x08\"\xa4\x01\n\x0bPasskeyInfo\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63redentialId\x18\x02 \x01(\x0c\x12\x14\n\x0c\x66riendlyName\x18\x03 \x01(\t\x12\x0e\n\x06\x41\x41GUID\x18\x04 \x01(\t\x12\x17\n\x0f\x63reatedAtMillis\x18\x05 \x01(\x03\x12\x16\n\x0elastUsedMillis\x18\x06 \x01(\x03\x12\x18\n\x10\x64isabledAtMillis\x18\x07 \x01(\x03\"G\n\x13PasskeyListResponse\x12\x30\n\x0bpasskeyInfo\x18\x01 \x03(\x0b\x32\x1b.Authentication.PasskeyInfo\"C\n\x0fTranslationInfo\x12\x16\n\x0etranslationKey\x18\x01 \x01(\t\x12\x18\n\x10translationValue\x18\x02 \x01(\t\",\n\x12TranslationRequest\x12\x16\n\x0etranslationKey\x18\x01 \x03(\t\"O\n\x13TranslationResponse\x12\x38\n\x0ftranslationInfo\x18\x01 \x03(\x0b\x32\x1f.Authentication.TranslationInfo*\xd3\x02\n\x11SupportedLanguage\x12\x0b\n\x07\x45NGLISH\x10\x00\x12\n\n\x06\x41RABIC\x10\x01\x12\x0b\n\x07\x42RITISH\x10\x02\x12\x0b\n\x07\x43HINESE\x10\x03\x12\x15\n\x11\x43HINESE_HONG_KONG\x10\x04\x12\x12\n\x0e\x43HINESE_TAIWAN\x10\x05\x12\t\n\x05\x44UTCH\x10\x06\x12\n\n\x06\x46RENCH\x10\x07\x12\n\n\x06GERMAN\x10\x08\x12\t\n\x05GREEK\x10\t\x12\n\n\x06HEBREW\x10\n\x12\x0b\n\x07ITALIAN\x10\x0b\x12\x0c\n\x08JAPANESE\x10\x0c\x12\n\n\x06KOREAN\x10\r\x12\n\n\x06POLISH\x10\x0e\x12\x0e\n\nPORTUGUESE\x10\x0f\x12\x15\n\x11PORTUGUESE_BRAZIL\x10\x10\x12\x0c\n\x08ROMANIAN\x10\x11\x12\x0b\n\x07RUSSIAN\x10\x12\x12\n\n\x06SLOVAK\x10\x13\x12\x0b\n\x07SPANISH\x10\x14\x12\x0b\n\x07\x46INNISH\x10\x15\x12\x0b\n\x07SWEDISH\x10\x16*k\n\tLoginType\x12\n\n\x06NORMAL\x10\x00\x12\x07\n\x03SSO\x10\x01\x12\x07\n\x03\x42IO\x10\x02\x12\r\n\tALTERNATE\x10\x03\x12\x0b\n\x07OFFLINE\x10\x04\x12\x13\n\x0f\x46ORGOT_PASSWORD\x10\x05\x12\x0f\n\x0bPASSKEY_BIO\x10\x06*q\n\x0c\x44\x65viceStatus\x12\x19\n\x15\x44\x45VICE_NEEDS_APPROVAL\x10\x00\x12\r\n\tDEVICE_OK\x10\x01\x12\x1b\n\x17\x44\x45VICE_DISABLED_BY_USER\x10\x02\x12\x1a\n\x16\x44\x45VICE_LOCKED_BY_ADMIN\x10\x03*A\n\rLicenseStatus\x12\t\n\x05OTHER\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03*7\n\x0b\x41\x63\x63ountType\x12\x0c\n\x08\x43ONSUMER\x10\x00\x12\n\n\x06\x46\x41MILY\x10\x01\x12\x0e\n\nENTERPRISE\x10\x02*\x9f\x02\n\x10SessionTokenType\x12\x12\n\x0eNO_RESTRICTION\x10\x00\x12\x14\n\x10\x41\x43\x43OUNT_RECOVERY\x10\x01\x12\x11\n\rSHARE_ACCOUNT\x10\x02\x12\x0c\n\x08PURCHASE\x10\x03\x12\x0c\n\x08RESTRICT\x10\x04\x12\x11\n\rACCEPT_INVITE\x10\x05\x12\x12\n\x0eSUPPORT_SERVER\x10\x06\x12\x17\n\x13\x45NTERPRISE_CREATION\x10\x07\x12\x1f\n\x1b\x45XPIRED_BUT_ALLOWED_TO_SYNC\x10\x08\x12\x18\n\x14\x41\x43\x43\x45PT_FAMILY_INVITE\x10\t\x12!\n\x1d\x45NTERPRISE_CREATION_PURCHASED\x10\n\x12\x14\n\x10\x45MERGENCY_ACCESS\x10\x0b*G\n\x07Version\x12\x13\n\x0finvalid_version\x10\x00\x12\x13\n\x0f\x64\x65\x66\x61ult_version\x10\x01\x12\x12\n\x0esecond_version\x10\x02*7\n\x1fMasterPasswordReentryActionType\x12\n\n\x06UNMASK\x10\x00\x12\x08\n\x04\x43OPY\x10\x01*l\n\x0bLoginMethod\x12\x17\n\x13INVALID_LOGINMETHOD\x10\x00\x12\x14\n\x10\x45XISTING_ACCOUNT\x10\x01\x12\x0e\n\nSSO_DOMAIN\x10\x02\x12\r\n\tAFTER_SSO\x10\x03\x12\x0f\n\x0bNEW_ACCOUNT\x10\x04*\xbe\x04\n\nLoginState\x12\x16\n\x12INVALID_LOGINSTATE\x10\x00\x12\x0e\n\nLOGGED_OUT\x10\x01\x12\x1c\n\x18\x44\x45VICE_APPROVAL_REQUIRED\x10\x02\x12\x11\n\rDEVICE_LOCKED\x10\x03\x12\x12\n\x0e\x41\x43\x43OUNT_LOCKED\x10\x04\x12\x19\n\x15\x44\x45VICE_ACCOUNT_LOCKED\x10\x05\x12\x0b\n\x07UPGRADE\x10\x06\x12\x13\n\x0fLICENSE_EXPIRED\x10\x07\x12\x13\n\x0fREGION_REDIRECT\x10\x08\x12\x16\n\x12REDIRECT_CLOUD_SSO\x10\t\x12\x17\n\x13REDIRECT_ONSITE_SSO\x10\n\x12\x10\n\x0cREQUIRES_2FA\x10\x0c\x12\x16\n\x12REQUIRES_AUTH_HASH\x10\r\x12\x15\n\x11REQUIRES_USERNAME\x10\x0e\x12\x19\n\x15\x41\x46TER_CLOUD_SSO_LOGIN\x10\x0f\x12\x1d\n\x19REQUIRES_ACCOUNT_CREATION\x10\x10\x12&\n\"REQUIRES_DEVICE_ENCRYPTED_DATA_KEY\x10\x11\x12\x17\n\x13LOGIN_TOKEN_EXPIRED\x10\x12\x12\x1e\n\x1aPASSKEY_INITIATE_CHALLENGE\x10\x13\x12\x19\n\x15PASSKEY_AUTH_REQUIRED\x10\x14\x12!\n\x1dPASSKEY_VERIFY_AUTHENTICATION\x10\x15\x12\x17\n\x13\x41\x46TER_PASSKEY_LOGIN\x10\x16\x12\r\n\tLOGGED_IN\x10\x63*k\n\x14\x45ncryptedDataKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x18\n\x14\x42Y_DEVICE_PUBLIC_KEY\x10\x01\x12\x0f\n\x0b\x42Y_PASSWORD\x10\x02\x12\x10\n\x0c\x42Y_ALTERNATE\x10\x03\x12\n\n\x06\x42Y_BIO\x10\x04*-\n\x0ePasswordMethod\x12\x0b\n\x07\x45NTERED\x10\x00\x12\x0e\n\nBIOMETRICS\x10\x01*\xb9\x01\n\x11TwoFactorPushType\x12\x14\n\x10TWO_FA_PUSH_NONE\x10\x00\x12\x13\n\x0fTWO_FA_PUSH_SMS\x10\x01\x12\x16\n\x12TWO_FA_PUSH_KEEPER\x10\x02\x12\x18\n\x14TWO_FA_PUSH_DUO_PUSH\x10\x03\x12\x18\n\x14TWO_FA_PUSH_DUO_TEXT\x10\x04\x12\x18\n\x14TWO_FA_PUSH_DUO_CALL\x10\x05\x12\x13\n\x0fTWO_FA_PUSH_DNA\x10\x06*\xc3\x01\n\x12TwoFactorValueType\x12\x14\n\x10TWO_FA_CODE_NONE\x10\x00\x12\x14\n\x10TWO_FA_CODE_TOTP\x10\x01\x12\x13\n\x0fTWO_FA_CODE_SMS\x10\x02\x12\x13\n\x0fTWO_FA_CODE_DUO\x10\x03\x12\x13\n\x0fTWO_FA_CODE_RSA\x10\x04\x12\x13\n\x0fTWO_FA_RESP_U2F\x10\x05\x12\x18\n\x14TWO_FA_RESP_WEBAUTHN\x10\x06\x12\x13\n\x0fTWO_FA_CODE_DNA\x10\x07*\xe1\x01\n\x14TwoFactorChannelType\x12\x12\n\x0eTWO_FA_CT_NONE\x10\x00\x12\x12\n\x0eTWO_FA_CT_TOTP\x10\x01\x12\x11\n\rTWO_FA_CT_SMS\x10\x02\x12\x11\n\rTWO_FA_CT_DUO\x10\x03\x12\x11\n\rTWO_FA_CT_RSA\x10\x04\x12\x14\n\x10TWO_FA_CT_BACKUP\x10\x05\x12\x11\n\rTWO_FA_CT_U2F\x10\x06\x12\x16\n\x12TWO_FA_CT_WEBAUTHN\x10\x07\x12\x14\n\x10TWO_FA_CT_KEEPER\x10\x08\x12\x11\n\rTWO_FA_CT_DNA\x10\t*\xab\x01\n\x13TwoFactorExpiration\x12\x1a\n\x16TWO_FA_EXP_IMMEDIATELY\x10\x00\x12\x18\n\x14TWO_FA_EXP_5_MINUTES\x10\x01\x12\x17\n\x13TWO_FA_EXP_12_HOURS\x10\x02\x12\x17\n\x13TWO_FA_EXP_24_HOURS\x10\x03\x12\x16\n\x12TWO_FA_EXP_30_DAYS\x10\x04\x12\x14\n\x10TWO_FA_EXP_NEVER\x10\x05*@\n\x0bLicenseType\x12\t\n\x05VAULT\x10\x00\x12\x08\n\x04\x43HAT\x10\x01\x12\x0b\n\x07STORAGE\x10\x02\x12\x0f\n\x0b\x42REACHWATCH\x10\x03*i\n\x0bObjectTypes\x12\n\n\x06RECORD\x10\x00\x12\x16\n\x12SHARED_FOLDER_USER\x10\x01\x12\x16\n\x12SHARED_FOLDER_TEAM\x10\x02\x12\x0f\n\x0bUSER_FOLDER\x10\x03\x12\r\n\tTEAM_USER\x10\x04*\xa1\x02\n\x13\x45ncryptedObjectType\x12\x13\n\x0f\x45OT_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x45OT_RECORD_KEY\x10\x01\x12\x1e\n\x1a\x45OT_SHARED_FOLDER_USER_KEY\x10\x02\x12\x1e\n\x1a\x45OT_SHARED_FOLDER_TEAM_KEY\x10\x03\x12\x15\n\x11\x45OT_TEAM_USER_KEY\x10\x04\x12\x17\n\x13\x45OT_USER_FOLDER_KEY\x10\x05\x12\x15\n\x11\x45OT_SECURITY_DATA\x10\x06\x12%\n!EOT_SECURITY_DATA_MASTER_PASSWORD\x10\x07\x12\x1c\n\x18\x45OT_EMERGENCY_ACCESS_KEY\x10\x08\x12\x15\n\x11\x45OT_V2_RECORD_KEY\x10\t*M\n\x1bMasterPasswordReentryStatus\x12\x0e\n\nMP_UNKNOWN\x10\x00\x12\x0e\n\nMP_SUCCESS\x10\x01\x12\x0e\n\nMP_FAILURE\x10\x02*`\n\x1b\x41lternateAuthenticationType\x12\x1d\n\x19\x41LTERNATE_MASTER_PASSWORD\x10\x00\x12\r\n\tBIOMETRIC\x10\x01\x12\x13\n\x0f\x41\x43\x43OUNT_RECOVER\x10\x02*\x9a\x02\n\x0cThrottleType\x12\x1b\n\x17PASSWORD_RETRY_THROTTLE\x10\x00\x12\"\n\x1ePASSWORD_RETRY_LEGACY_THROTTLE\x10\x01\x12\x13\n\x0fTWO_FA_THROTTLE\x10\x02\x12\x1a\n\x16TWO_FA_LEGACY_THROTTLE\x10\x03\x12\x15\n\x11QA_RETRY_THROTTLE\x10\x04\x12\x1c\n\x18\x41\x43\x43OUNT_RECOVER_THROTTLE\x10\x05\x12.\n*VALIDATE_DEVICE_VERIFICATION_CODE_THROTTLE\x10\x06\x12\x33\n/VALIDATE_CREATE_USER_VERIFICATION_CODE_THROTTLE\x10\x07*H\n\x06Region\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02\x65u\x10\x01\x12\x06\n\x02us\x10\x02\x12\t\n\x05usgov\x10\x03\x12\x06\n\x02\x61u\x10\x04\x12\x06\n\x02jp\x10\x05\x12\x06\n\x02\x63\x61\x10\x06*D\n\x14\x41pplicationShareType\x12\x15\n\x11SHARE_TYPE_RECORD\x10\x00\x12\x15\n\x11SHARE_TYPE_FOLDER\x10\x01*\xa4\x01\n\x15TimeLimitedAccessType\x12$\n INVALID_TIME_LIMITED_ACCESS_TYPE\x10\x00\x12\x19\n\x15USER_ACCESS_TO_RECORD\x10\x01\x12\'\n#USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER\x10\x02\x12!\n\x1dRECORD_ACCESS_TO_SHAREDFOLDER\x10\x03*<\n\rBackupKeyType\x12\x12\n\x0e\x42KT_SEC_ANSWER\x10\x00\x12\x17\n\x13\x42KT_PASSPHRASE_HASH\x10\x01*r\n\rGenericStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x12\n\x0eINVALID_OBJECT\x10\x01\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x02\x12\x11\n\rACCESS_DENIED\x10\x03\x12\x19\n\x15LICENSE_SEAT_EXCEEDED\x10\x04*N\n\x17\x41uthenticatorAttachment\x12\x12\n\x0e\x43ROSS_PLATFORM\x10\x00\x12\x0c\n\x08PLATFORM\x10\x01\x12\x11\n\rALL_SUPPORTED\x10\x02*-\n\x0ePasskeyPurpose\x12\x0c\n\x08PK_LOGIN\x10\x00\x12\r\n\tPK_REAUTH\x10\x01*K\n\x10\x43lientFormFactor\x12\x0c\n\x08\x46\x46_EMPTY\x10\x00\x12\x0c\n\x08\x46\x46_PHONE\x10\x01\x12\r\n\tFF_TABLET\x10\x02\x12\x0c\n\x08\x46\x46_WATCH\x10\x03\x42*\n\x18\x63om.keepersecurity.protoB\x0e\x41uthenticationb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,66 +33,66 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\016Authentication' - _globals['_SUPPORTEDLANGUAGE']._serialized_start=21560 - _globals['_SUPPORTEDLANGUAGE']._serialized_end=21899 - _globals['_LOGINTYPE']._serialized_start=21901 - _globals['_LOGINTYPE']._serialized_end=22008 - _globals['_DEVICESTATUS']._serialized_start=22010 - _globals['_DEVICESTATUS']._serialized_end=22123 - _globals['_LICENSESTATUS']._serialized_start=22125 - _globals['_LICENSESTATUS']._serialized_end=22190 - _globals['_ACCOUNTTYPE']._serialized_start=22192 - _globals['_ACCOUNTTYPE']._serialized_end=22247 - _globals['_SESSIONTOKENTYPE']._serialized_start=22250 - _globals['_SESSIONTOKENTYPE']._serialized_end=22537 - _globals['_VERSION']._serialized_start=22539 - _globals['_VERSION']._serialized_end=22610 - _globals['_MASTERPASSWORDREENTRYACTIONTYPE']._serialized_start=22612 - _globals['_MASTERPASSWORDREENTRYACTIONTYPE']._serialized_end=22667 - _globals['_LOGINMETHOD']._serialized_start=22669 - _globals['_LOGINMETHOD']._serialized_end=22777 - _globals['_LOGINSTATE']._serialized_start=22780 - _globals['_LOGINSTATE']._serialized_end=23354 - _globals['_ENCRYPTEDDATAKEYTYPE']._serialized_start=23356 - _globals['_ENCRYPTEDDATAKEYTYPE']._serialized_end=23463 - _globals['_PASSWORDMETHOD']._serialized_start=23465 - _globals['_PASSWORDMETHOD']._serialized_end=23510 - _globals['_TWOFACTORPUSHTYPE']._serialized_start=23513 - _globals['_TWOFACTORPUSHTYPE']._serialized_end=23698 - _globals['_TWOFACTORVALUETYPE']._serialized_start=23701 - _globals['_TWOFACTORVALUETYPE']._serialized_end=23896 - _globals['_TWOFACTORCHANNELTYPE']._serialized_start=23899 - _globals['_TWOFACTORCHANNELTYPE']._serialized_end=24124 - _globals['_TWOFACTOREXPIRATION']._serialized_start=24127 - _globals['_TWOFACTOREXPIRATION']._serialized_end=24298 - _globals['_LICENSETYPE']._serialized_start=24300 - _globals['_LICENSETYPE']._serialized_end=24364 - _globals['_OBJECTTYPES']._serialized_start=24366 - _globals['_OBJECTTYPES']._serialized_end=24471 - _globals['_ENCRYPTEDOBJECTTYPE']._serialized_start=24474 - _globals['_ENCRYPTEDOBJECTTYPE']._serialized_end=24763 - _globals['_MASTERPASSWORDREENTRYSTATUS']._serialized_start=24765 - _globals['_MASTERPASSWORDREENTRYSTATUS']._serialized_end=24842 - _globals['_ALTERNATEAUTHENTICATIONTYPE']._serialized_start=24844 - _globals['_ALTERNATEAUTHENTICATIONTYPE']._serialized_end=24940 - _globals['_THROTTLETYPE']._serialized_start=24943 - _globals['_THROTTLETYPE']._serialized_end=25225 - _globals['_REGION']._serialized_start=25227 - _globals['_REGION']._serialized_end=25299 - _globals['_APPLICATIONSHARETYPE']._serialized_start=25301 - _globals['_APPLICATIONSHARETYPE']._serialized_end=25369 - _globals['_TIMELIMITEDACCESSTYPE']._serialized_start=25372 - _globals['_TIMELIMITEDACCESSTYPE']._serialized_end=25536 - _globals['_BACKUPKEYTYPE']._serialized_start=25538 - _globals['_BACKUPKEYTYPE']._serialized_end=25598 - _globals['_GENERICSTATUS']._serialized_start=25600 - _globals['_GENERICSTATUS']._serialized_end=25714 - _globals['_AUTHENTICATORATTACHMENT']._serialized_start=25716 - _globals['_AUTHENTICATORATTACHMENT']._serialized_end=25794 - _globals['_PASSKEYPURPOSE']._serialized_start=25796 - _globals['_PASSKEYPURPOSE']._serialized_end=25841 - _globals['_CLIENTFORMFACTOR']._serialized_start=25843 - _globals['_CLIENTFORMFACTOR']._serialized_end=25918 + _globals['_SUPPORTEDLANGUAGE']._serialized_start=21867 + _globals['_SUPPORTEDLANGUAGE']._serialized_end=22206 + _globals['_LOGINTYPE']._serialized_start=22208 + _globals['_LOGINTYPE']._serialized_end=22315 + _globals['_DEVICESTATUS']._serialized_start=22317 + _globals['_DEVICESTATUS']._serialized_end=22430 + _globals['_LICENSESTATUS']._serialized_start=22432 + _globals['_LICENSESTATUS']._serialized_end=22497 + _globals['_ACCOUNTTYPE']._serialized_start=22499 + _globals['_ACCOUNTTYPE']._serialized_end=22554 + _globals['_SESSIONTOKENTYPE']._serialized_start=22557 + _globals['_SESSIONTOKENTYPE']._serialized_end=22844 + _globals['_VERSION']._serialized_start=22846 + _globals['_VERSION']._serialized_end=22917 + _globals['_MASTERPASSWORDREENTRYACTIONTYPE']._serialized_start=22919 + _globals['_MASTERPASSWORDREENTRYACTIONTYPE']._serialized_end=22974 + _globals['_LOGINMETHOD']._serialized_start=22976 + _globals['_LOGINMETHOD']._serialized_end=23084 + _globals['_LOGINSTATE']._serialized_start=23087 + _globals['_LOGINSTATE']._serialized_end=23661 + _globals['_ENCRYPTEDDATAKEYTYPE']._serialized_start=23663 + _globals['_ENCRYPTEDDATAKEYTYPE']._serialized_end=23770 + _globals['_PASSWORDMETHOD']._serialized_start=23772 + _globals['_PASSWORDMETHOD']._serialized_end=23817 + _globals['_TWOFACTORPUSHTYPE']._serialized_start=23820 + _globals['_TWOFACTORPUSHTYPE']._serialized_end=24005 + _globals['_TWOFACTORVALUETYPE']._serialized_start=24008 + _globals['_TWOFACTORVALUETYPE']._serialized_end=24203 + _globals['_TWOFACTORCHANNELTYPE']._serialized_start=24206 + _globals['_TWOFACTORCHANNELTYPE']._serialized_end=24431 + _globals['_TWOFACTOREXPIRATION']._serialized_start=24434 + _globals['_TWOFACTOREXPIRATION']._serialized_end=24605 + _globals['_LICENSETYPE']._serialized_start=24607 + _globals['_LICENSETYPE']._serialized_end=24671 + _globals['_OBJECTTYPES']._serialized_start=24673 + _globals['_OBJECTTYPES']._serialized_end=24778 + _globals['_ENCRYPTEDOBJECTTYPE']._serialized_start=24781 + _globals['_ENCRYPTEDOBJECTTYPE']._serialized_end=25070 + _globals['_MASTERPASSWORDREENTRYSTATUS']._serialized_start=25072 + _globals['_MASTERPASSWORDREENTRYSTATUS']._serialized_end=25149 + _globals['_ALTERNATEAUTHENTICATIONTYPE']._serialized_start=25151 + _globals['_ALTERNATEAUTHENTICATIONTYPE']._serialized_end=25247 + _globals['_THROTTLETYPE']._serialized_start=25250 + _globals['_THROTTLETYPE']._serialized_end=25532 + _globals['_REGION']._serialized_start=25534 + _globals['_REGION']._serialized_end=25606 + _globals['_APPLICATIONSHARETYPE']._serialized_start=25608 + _globals['_APPLICATIONSHARETYPE']._serialized_end=25676 + _globals['_TIMELIMITEDACCESSTYPE']._serialized_start=25679 + _globals['_TIMELIMITEDACCESSTYPE']._serialized_end=25843 + _globals['_BACKUPKEYTYPE']._serialized_start=25845 + _globals['_BACKUPKEYTYPE']._serialized_end=25905 + _globals['_GENERICSTATUS']._serialized_start=25907 + _globals['_GENERICSTATUS']._serialized_end=26021 + _globals['_AUTHENTICATORATTACHMENT']._serialized_start=26023 + _globals['_AUTHENTICATORATTACHMENT']._serialized_end=26101 + _globals['_PASSKEYPURPOSE']._serialized_start=26103 + _globals['_PASSKEYPURPOSE']._serialized_end=26148 + _globals['_CLIENTFORMFACTOR']._serialized_start=26150 + _globals['_CLIENTFORMFACTOR']._serialized_end=26225 _globals['_QRCMESSAGEKEY']._serialized_start=54 _globals['_QRCMESSAGEKEY']._serialized_end=177 _globals['_APIREQUEST']._serialized_start=180 @@ -119,318 +119,320 @@ _globals['_TWOFACTORCHANNEL']._serialized_end=1636 _globals['_STARTLOGINREQUEST']._serialized_start=1639 _globals['_STARTLOGINREQUEST']._serialized_end=2019 - _globals['_LOGINRESPONSE']._serialized_start=2022 - _globals['_LOGINRESPONSE']._serialized_end=2573 - _globals['_SWITCHLISTELEMENT']._serialized_start=2575 - _globals['_SWITCHLISTELEMENT']._serialized_end=2693 - _globals['_SWITCHLISTRESPONSE']._serialized_start=2695 - _globals['_SWITCHLISTRESPONSE']._serialized_end=2768 - _globals['_SSOUSERINFO']._serialized_start=2771 - _globals['_SSOUSERINFO']._serialized_end=2911 - _globals['_PRELOGINRESPONSE']._serialized_start=2914 - _globals['_PRELOGINRESPONSE']._serialized_end=3128 - _globals['_LOGINASUSERREQUEST']._serialized_start=3130 - _globals['_LOGINASUSERREQUEST']._serialized_end=3168 - _globals['_LOGINASUSERRESPONSE']._serialized_start=3170 - _globals['_LOGINASUSERRESPONSE']._serialized_end=3257 - _globals['_VALIDATEAUTHHASHREQUEST']._serialized_start=3260 - _globals['_VALIDATEAUTHHASHREQUEST']._serialized_end=3392 - _globals['_TWOFACTORCHANNELINFO']._serialized_start=3395 - _globals['_TWOFACTORCHANNELINFO']._serialized_end=3719 - _globals['_TWOFACTORDUOSTATUS']._serialized_start=3721 - _globals['_TWOFACTORDUOSTATUS']._serialized_end=3821 - _globals['_TWOFACTORADDREQUEST']._serialized_start=3824 - _globals['_TWOFACTORADDREQUEST']._serialized_end=4023 - _globals['_TWOFACTORRENAMEREQUEST']._serialized_start=4025 - _globals['_TWOFACTORRENAMEREQUEST']._serialized_end=4091 - _globals['_TWOFACTORADDRESPONSE']._serialized_start=4093 - _globals['_TWOFACTORADDRESPONSE']._serialized_end=4154 - _globals['_TWOFACTORDELETEREQUEST']._serialized_start=4156 - _globals['_TWOFACTORDELETEREQUEST']._serialized_end=4201 - _globals['_TWOFACTORLISTRESPONSE']._serialized_start=4203 - _globals['_TWOFACTORLISTRESPONSE']._serialized_end=4300 - _globals['_TWOFACTORUPDATEEXPIRATIONREQUEST']._serialized_start=4302 - _globals['_TWOFACTORUPDATEEXPIRATIONREQUEST']._serialized_end=4391 - _globals['_TWOFACTORVALIDATEREQUEST']._serialized_start=4394 - _globals['_TWOFACTORVALIDATEREQUEST']._serialized_end=4595 - _globals['_TWOFACTORVALIDATERESPONSE']._serialized_start=4597 - _globals['_TWOFACTORVALIDATERESPONSE']._serialized_end=4653 - _globals['_TWOFACTORSENDPUSHREQUEST']._serialized_start=4656 - _globals['_TWOFACTORSENDPUSHREQUEST']._serialized_end=4840 - _globals['_LICENSE']._serialized_start=4843 - _globals['_LICENSE']._serialized_end=4974 - _globals['_OWNERLESSRECORD']._serialized_start=4976 - _globals['_OWNERLESSRECORD']._serialized_end=5047 - _globals['_OWNERLESSRECORDS']._serialized_start=5049 - _globals['_OWNERLESSRECORDS']._serialized_end=5125 - _globals['_USERAUTHREQUEST']._serialized_start=5128 - _globals['_USERAUTHREQUEST']._serialized_end=5343 - _globals['_UIDREQUEST']._serialized_start=5345 - _globals['_UIDREQUEST']._serialized_end=5370 - _globals['_DEVICEUPDATEREQUEST']._serialized_start=5373 - _globals['_DEVICEUPDATEREQUEST']._serialized_end=5628 - _globals['_DEVICEUPDATERESPONSE']._serialized_start=5631 - _globals['_DEVICEUPDATERESPONSE']._serialized_end=5887 - _globals['_REGISTERDEVICEINREGIONREQUEST']._serialized_start=5890 - _globals['_REGISTERDEVICEINREGIONREQUEST']._serialized_end=6103 - _globals['_REGISTRATIONREQUEST']._serialized_start=6106 - _globals['_REGISTRATIONREQUEST']._serialized_end=6482 - _globals['_CONVERTUSERTOV3REQUEST']._serialized_start=6485 - _globals['_CONVERTUSERTOV3REQUEST']._serialized_end=6693 - _globals['_REVISIONRESPONSE']._serialized_start=6695 - _globals['_REVISIONRESPONSE']._serialized_end=6731 - _globals['_CHANGEEMAILREQUEST']._serialized_start=6733 - _globals['_CHANGEEMAILREQUEST']._serialized_end=6771 - _globals['_CHANGEEMAILRESPONSE']._serialized_start=6773 - _globals['_CHANGEEMAILRESPONSE']._serialized_end=6829 - _globals['_EMAILVERIFICATIONLINKRESPONSE']._serialized_start=6831 - _globals['_EMAILVERIFICATIONLINKRESPONSE']._serialized_end=6885 - _globals['_SECURITYDATA']._serialized_start=6887 - _globals['_SECURITYDATA']._serialized_end=6928 - _globals['_SECURITYSCOREDATA']._serialized_start=6930 - _globals['_SECURITYSCOREDATA']._serialized_end=6994 - _globals['_SECURITYDATAREQUEST']._serialized_start=6997 - _globals['_SECURITYDATAREQUEST']._serialized_end=7264 - _globals['_SECURITYREPORTINCREMENTALDATA']._serialized_start=7267 - _globals['_SECURITYREPORTINCREMENTALDATA']._serialized_end=7593 - _globals['_SECURITYREPORT']._serialized_start=7596 - _globals['_SECURITYREPORT']._serialized_end=7883 - _globals['_SECURITYREPORTSAVEREQUEST']._serialized_start=7885 - _globals['_SECURITYREPORTSAVEREQUEST']._serialized_end=7995 - _globals['_SECURITYREPORTREQUEST']._serialized_start=7997 - _globals['_SECURITYREPORTREQUEST']._serialized_end=8038 - _globals['_SECURITYREPORTRESPONSE']._serialized_start=8041 - _globals['_SECURITYREPORTRESPONSE']._serialized_end=8286 - _globals['_INCREMENTALSECURITYDATAREQUEST']._serialized_start=8288 - _globals['_INCREMENTALSECURITYDATAREQUEST']._serialized_end=8347 - _globals['_INCREMENTALSECURITYDATARESPONSE']._serialized_start=8350 - _globals['_INCREMENTALSECURITYDATARESPONSE']._serialized_end=8496 - _globals['_REUSEDPASSWORDSREQUEST']._serialized_start=8498 - _globals['_REUSEDPASSWORDSREQUEST']._serialized_end=8537 - _globals['_SUMMARYCONSOLEREPORT']._serialized_start=8539 - _globals['_SUMMARYCONSOLEREPORT']._serialized_end=8601 - _globals['_CHANGETOKEYTYPEONE']._serialized_start=8603 - _globals['_CHANGETOKEYTYPEONE']._serialized_end=8727 - _globals['_CHANGETOKEYTYPEONEREQUEST']._serialized_start=8729 - _globals['_CHANGETOKEYTYPEONEREQUEST']._serialized_end=8820 - _globals['_CHANGETOKEYTYPEONESTATUS']._serialized_start=8822 - _globals['_CHANGETOKEYTYPEONESTATUS']._serialized_end=8907 - _globals['_CHANGETOKEYTYPEONERESPONSE']._serialized_start=8909 - _globals['_CHANGETOKEYTYPEONERESPONSE']._serialized_end=9013 - _globals['_GETCHANGEKEYTYPESREQUEST']._serialized_start=9016 - _globals['_GETCHANGEKEYTYPESREQUEST']._serialized_end=9201 - _globals['_GETCHANGEKEYTYPESRESPONSE']._serialized_start=9204 - _globals['_GETCHANGEKEYTYPESRESPONSE']._serialized_end=9334 - _globals['_ALLOWEDKEYTYPES']._serialized_start=9337 - _globals['_ALLOWEDKEYTYPES']._serialized_end=9466 - _globals['_CHANGEKEYTYPES']._serialized_start=9468 - _globals['_CHANGEKEYTYPES']._serialized_end=9529 - _globals['_CHANGEKEYTYPE']._serialized_start=9532 - _globals['_CHANGEKEYTYPE']._serialized_end=9746 - _globals['_SETKEY']._serialized_start=9748 - _globals['_SETKEY']._serialized_end=9781 - _globals['_SETKEYREQUEST']._serialized_start=9783 - _globals['_SETKEYREQUEST']._serialized_end=9836 - _globals['_CREATEUSERREQUEST']._serialized_start=9839 - _globals['_CREATEUSERREQUEST']._serialized_end=10497 - _globals['_NODEENFORCEMENTADDORUPDATEREQUEST']._serialized_start=10499 - _globals['_NODEENFORCEMENTADDORUPDATEREQUEST']._serialized_end=10586 - _globals['_NODEENFORCEMENTREMOVEREQUEST']._serialized_start=10588 - _globals['_NODEENFORCEMENTREMOVEREQUEST']._serialized_end=10655 - _globals['_APIREQUESTBYKEY']._serialized_start=10658 - _globals['_APIREQUESTBYKEY']._serialized_end=10841 - _globals['_APIREQUESTBYKATOKAKEY']._serialized_start=10844 - _globals['_APIREQUESTBYKATOKAKEY']._serialized_end=11043 - _globals['_MEMCACHEREQUEST']._serialized_start=11045 - _globals['_MEMCACHEREQUEST']._serialized_end=11091 - _globals['_MEMCACHERESPONSE']._serialized_start=11093 - _globals['_MEMCACHERESPONSE']._serialized_end=11139 - _globals['_MASTERPASSWORDREENTRYREQUEST']._serialized_start=11141 - _globals['_MASTERPASSWORDREENTRYREQUEST']._serialized_end=11260 - _globals['_MASTERPASSWORDREENTRYRESPONSE']._serialized_start=11262 - _globals['_MASTERPASSWORDREENTRYRESPONSE']._serialized_end=11354 - _globals['_DEVICEREGISTRATIONREQUEST']._serialized_start=11357 - _globals['_DEVICEREGISTRATIONREQUEST']._serialized_end=11554 - _globals['_DEVICEVERIFICATIONREQUEST']._serialized_start=11557 - _globals['_DEVICEVERIFICATIONREQUEST']._serialized_end=11711 - _globals['_DEVICEVERIFICATIONRESPONSE']._serialized_start=11714 - _globals['_DEVICEVERIFICATIONRESPONSE']._serialized_end=11892 - _globals['_DEVICEAPPROVALREQUEST']._serialized_start=11895 - _globals['_DEVICEAPPROVALREQUEST']._serialized_end=12095 - _globals['_DEVICEAPPROVALRESPONSE']._serialized_start=12097 - _globals['_DEVICEAPPROVALRESPONSE']._serialized_end=12154 - _globals['_APPROVEDEVICEREQUEST']._serialized_start=12156 - _globals['_APPROVEDEVICEREQUEST']._serialized_end=12282 - _globals['_ENTERPRISEUSERALIASREQUEST']._serialized_start=12284 - _globals['_ENTERPRISEUSERALIASREQUEST']._serialized_end=12353 - _globals['_ENTERPRISEUSERADDALIASREQUEST']._serialized_start=12355 - _globals['_ENTERPRISEUSERADDALIASREQUEST']._serialized_end=12444 - _globals['_ENTERPRISEUSERADDALIASREQUESTV2']._serialized_start=12446 - _globals['_ENTERPRISEUSERADDALIASREQUESTV2']._serialized_end=12565 - _globals['_ENTERPRISEUSERADDALIASSTATUS']._serialized_start=12567 - _globals['_ENTERPRISEUSERADDALIASSTATUS']._serialized_end=12639 - _globals['_ENTERPRISEUSERADDALIASRESPONSE']._serialized_start=12641 - _globals['_ENTERPRISEUSERADDALIASRESPONSE']._serialized_end=12735 - _globals['_DEVICE']._serialized_start=12737 - _globals['_DEVICE']._serialized_end=12775 - _globals['_REGISTERDEVICEDATAKEYREQUEST']._serialized_start=12777 - _globals['_REGISTERDEVICEDATAKEYREQUEST']._serialized_end=12869 - _globals['_VALIDATECREATEUSERVERIFICATIONCODEREQUEST']._serialized_start=12871 - _globals['_VALIDATECREATEUSERVERIFICATIONCODEREQUEST']._serialized_end=12981 - _globals['_VALIDATEDEVICEVERIFICATIONCODEREQUEST']._serialized_start=12984 - _globals['_VALIDATEDEVICEVERIFICATIONCODEREQUEST']._serialized_end=13147 - _globals['_SENDSESSIONMESSAGEREQUEST']._serialized_start=13149 - _globals['_SENDSESSIONMESSAGEREQUEST']._serialized_end=13238 - _globals['_GLOBALUSERACCOUNT']._serialized_start=13240 - _globals['_GLOBALUSERACCOUNT']._serialized_end=13317 - _globals['_ACCOUNTUSERNAME']._serialized_start=13319 - _globals['_ACCOUNTUSERNAME']._serialized_end=13374 - _globals['_SSOSERVICEPROVIDERREQUEST']._serialized_start=13376 - _globals['_SSOSERVICEPROVIDERREQUEST']._serialized_end=13456 - _globals['_SSOSERVICEPROVIDERRESPONSE']._serialized_start=13458 - _globals['_SSOSERVICEPROVIDERRESPONSE']._serialized_end=13555 - _globals['_USERSETTINGREQUEST']._serialized_start=13557 - _globals['_USERSETTINGREQUEST']._serialized_end=13609 - _globals['_THROTTLESTATE']._serialized_start=13611 - _globals['_THROTTLESTATE']._serialized_end=13713 - _globals['_THROTTLESTATE2']._serialized_start=13716 - _globals['_THROTTLESTATE2']._serialized_end=13897 - _globals['_DEVICEINFORMATION']._serialized_start=13900 - _globals['_DEVICEINFORMATION']._serialized_end=14051 - _globals['_USERSETTING']._serialized_start=14053 - _globals['_USERSETTING']._serialized_end=14095 - _globals['_USERDATAKEYREQUEST']._serialized_start=14097 - _globals['_USERDATAKEYREQUEST']._serialized_end=14143 - _globals['_USERDATAKEYBYNODEREQUEST']._serialized_start=14145 - _globals['_USERDATAKEYBYNODEREQUEST']._serialized_end=14188 - _globals['_ENTERPRISEUSERIDDATAKEYPAIR']._serialized_start=14191 - _globals['_ENTERPRISEUSERIDDATAKEYPAIR']._serialized_end=14319 - _globals['_USERDATAKEY']._serialized_start=14322 - _globals['_USERDATAKEY']._serialized_end=14471 - _globals['_USERDATAKEYRESPONSE']._serialized_start=14473 - _globals['_USERDATAKEYRESPONSE']._serialized_end=14595 - _globals['_MASTERPASSWORDRECOVERYVERIFICATIONREQUEST']._serialized_start=14597 - _globals['_MASTERPASSWORDRECOVERYVERIFICATIONREQUEST']._serialized_end=14669 - _globals['_GETSECURITYQUESTIONV3REQUEST']._serialized_start=14671 - _globals['_GETSECURITYQUESTIONV3REQUEST']._serialized_end=14756 - _globals['_GETSECURITYQUESTIONV3RESPONSE']._serialized_start=14758 - _globals['_GETSECURITYQUESTIONV3RESPONSE']._serialized_end=14872 - _globals['_GETDATAKEYBACKUPV3REQUEST']._serialized_start=14874 - _globals['_GETDATAKEYBACKUPV3REQUEST']._serialized_end=14984 - _globals['_PASSWORDRULES']._serialized_start=14986 - _globals['_PASSWORDRULES']._serialized_end=15104 - _globals['_GETDATAKEYBACKUPV3RESPONSE']._serialized_start=15107 - _globals['_GETDATAKEYBACKUPV3RESPONSE']._serialized_end=15436 - _globals['_GETPUBLICKEYSREQUEST']._serialized_start=15438 - _globals['_GETPUBLICKEYSREQUEST']._serialized_end=15479 - _globals['_PUBLICKEYRESPONSE']._serialized_start=15482 - _globals['_PUBLICKEYRESPONSE']._serialized_end=15616 - _globals['_GETPUBLICKEYSRESPONSE']._serialized_start=15618 - _globals['_GETPUBLICKEYSRESPONSE']._serialized_end=15698 - _globals['_SETECCKEYPAIRREQUEST']._serialized_start=15700 - _globals['_SETECCKEYPAIRREQUEST']._serialized_end=15770 - _globals['_SETECCKEYPAIRSREQUEST']._serialized_start=15772 - _globals['_SETECCKEYPAIRSREQUEST']._serialized_end=15845 - _globals['_SETECCKEYPAIRSRESPONSE']._serialized_start=15847 - _globals['_SETECCKEYPAIRSRESPONSE']._serialized_end=15929 - _globals['_TEAMECCKEYPAIR']._serialized_start=15931 - _globals['_TEAMECCKEYPAIR']._serialized_end=16012 - _globals['_TEAMECCKEYPAIRRESPONSE']._serialized_start=16014 - _globals['_TEAMECCKEYPAIRRESPONSE']._serialized_end=16102 - _globals['_GETKSMPUBLICKEYSREQUEST']._serialized_start=16104 - _globals['_GETKSMPUBLICKEYSREQUEST']._serialized_end=16172 - _globals['_DEVICEPUBLICKEYRESPONSE']._serialized_start=16174 - _globals['_DEVICEPUBLICKEYRESPONSE']._serialized_end=16259 - _globals['_GETKSMPUBLICKEYSRESPONSE']._serialized_start=16261 - _globals['_GETKSMPUBLICKEYSRESPONSE']._serialized_end=16350 - _globals['_ADDAPPSHARESREQUEST']._serialized_start=16352 - _globals['_ADDAPPSHARESREQUEST']._serialized_end=16440 - _globals['_REMOVEAPPSHARESREQUEST']._serialized_start=16442 - _globals['_REMOVEAPPSHARESREQUEST']._serialized_end=16504 - _globals['_APPSHAREADD']._serialized_start=16507 - _globals['_APPSHAREADD']._serialized_end=16642 - _globals['_APPSHARE']._serialized_start=16645 - _globals['_APPSHARE']._serialized_end=16782 - _globals['_ADDAPPCLIENTREQUEST']._serialized_start=16785 - _globals['_ADDAPPCLIENTREQUEST']._serialized_end=17002 - _globals['_REMOVEAPPCLIENTSREQUEST']._serialized_start=17004 - _globals['_REMOVEAPPCLIENTSREQUEST']._serialized_end=17068 - _globals['_ADDEXTERNALSHAREREQUEST']._serialized_start=17071 - _globals['_ADDEXTERNALSHAREREQUEST']._serialized_end=17241 - _globals['_APPCLIENT']._serialized_start=17244 - _globals['_APPCLIENT']._serialized_end=17519 - _globals['_GETAPPINFOREQUEST']._serialized_start=17521 - _globals['_GETAPPINFOREQUEST']._serialized_end=17562 - _globals['_APPINFO']._serialized_start=17565 - _globals['_APPINFO']._serialized_end=17707 - _globals['_GETAPPINFORESPONSE']._serialized_start=17709 - _globals['_GETAPPINFORESPONSE']._serialized_end=17771 - _globals['_APPLICATIONSUMMARY']._serialized_start=17774 - _globals['_APPLICATIONSUMMARY']._serialized_end=17987 - _globals['_GETAPPLICATIONSSUMMARYRESPONSE']._serialized_start=17989 - _globals['_GETAPPLICATIONSSUMMARYRESPONSE']._serialized_end=18085 - _globals['_GETVERIFICATIONTOKENREQUEST']._serialized_start=18087 - _globals['_GETVERIFICATIONTOKENREQUEST']._serialized_end=18134 - _globals['_GETVERIFICATIONTOKENRESPONSE']._serialized_start=18136 - _globals['_GETVERIFICATIONTOKENRESPONSE']._serialized_end=18202 - _globals['_SENDSHAREINVITEREQUEST']._serialized_start=18204 - _globals['_SENDSHAREINVITEREQUEST']._serialized_end=18243 - _globals['_TIMELIMITEDACCESSREQUEST']._serialized_start=18246 - _globals['_TIMELIMITEDACCESSREQUEST']._serialized_end=18443 - _globals['_TIMELIMITEDACCESSSTATUS']._serialized_start=18445 - _globals['_TIMELIMITEDACCESSSTATUS']._serialized_end=18500 - _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_start=18503 - _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_end=18751 - _globals['_REQUESTDOWNLOADREQUEST']._serialized_start=18753 - _globals['_REQUESTDOWNLOADREQUEST']._serialized_end=18796 - _globals['_REQUESTDOWNLOADRESPONSE']._serialized_start=18798 - _globals['_REQUESTDOWNLOADRESPONSE']._serialized_end=18901 - _globals['_DOWNLOAD']._serialized_start=18903 - _globals['_DOWNLOAD']._serialized_end=18971 - _globals['_DELETEUSERREQUEST']._serialized_start=18973 - _globals['_DELETEUSERREQUEST']._serialized_end=19008 - _globals['_CHANGEMASTERPASSWORDREQUEST']._serialized_start=19011 - _globals['_CHANGEMASTERPASSWORDREQUEST']._serialized_end=19143 - _globals['_CHANGEMASTERPASSWORDRESPONSE']._serialized_start=19145 - _globals['_CHANGEMASTERPASSWORDRESPONSE']._serialized_end=19206 - _globals['_ACCOUNTRECOVERYSETUPREQUEST']._serialized_start=19208 - _globals['_ACCOUNTRECOVERYSETUPREQUEST']._serialized_end=19297 - _globals['_ACCOUNTRECOVERYVERIFYCODERESPONSE']._serialized_start=19300 - _globals['_ACCOUNTRECOVERYVERIFYCODERESPONSE']._serialized_end=19472 - _globals['_EMERGENCYACCESSLOGINREQUEST']._serialized_start=19474 - _globals['_EMERGENCYACCESSLOGINREQUEST']._serialized_end=19518 - _globals['_EMERGENCYACCESSLOGINRESPONSE']._serialized_start=19521 - _globals['_EMERGENCYACCESSLOGINRESPONSE']._serialized_end=19702 - _globals['_USERTEAMKEY']._serialized_start=19705 - _globals['_USERTEAMKEY']._serialized_end=19883 - _globals['_GENERICREQUESTRESPONSE']._serialized_start=19885 - _globals['_GENERICREQUESTRESPONSE']._serialized_end=19926 - _globals['_PASSKEYREGISTRATIONREQUEST']._serialized_start=19928 - _globals['_PASSKEYREGISTRATIONREQUEST']._serialized_end=20030 - _globals['_PASSKEYREGISTRATIONRESPONSE']._serialized_start=20032 - _globals['_PASSKEYREGISTRATIONRESPONSE']._serialized_end=20112 - _globals['_PASSKEYREGISTRATIONFINALIZATION']._serialized_start=20115 - _globals['_PASSKEYREGISTRATIONFINALIZATION']._serialized_end=20247 - _globals['_PASSKEYAUTHENTICATIONREQUEST']._serialized_start=20250 - _globals['_PASSKEYAUTHENTICATIONREQUEST']._serialized_end=20557 - _globals['_PASSKEYAUTHENTICATIONRESPONSE']._serialized_start=20560 - _globals['_PASSKEYAUTHENTICATIONRESPONSE']._serialized_end=20699 - _globals['_PASSKEYVALIDATIONREQUEST']._serialized_start=20702 - _globals['_PASSKEYVALIDATIONREQUEST']._serialized_end=20893 - _globals['_PASSKEYVALIDATIONRESPONSE']._serialized_start=20895 - _globals['_PASSKEYVALIDATIONRESPONSE']._serialized_end=20968 - _globals['_UPDATEPASSKEYREQUEST']._serialized_start=20970 - _globals['_UPDATEPASSKEYREQUEST']._serialized_end=21074 - _globals['_PASSKEYLISTREQUEST']._serialized_start=21076 - _globals['_PASSKEYLISTREQUEST']._serialized_end=21121 - _globals['_PASSKEYINFO']._serialized_start=21124 - _globals['_PASSKEYINFO']._serialized_end=21288 - _globals['_PASSKEYLISTRESPONSE']._serialized_start=21290 - _globals['_PASSKEYLISTRESPONSE']._serialized_end=21361 - _globals['_TRANSLATIONINFO']._serialized_start=21363 - _globals['_TRANSLATIONINFO']._serialized_end=21430 - _globals['_TRANSLATIONREQUEST']._serialized_start=21432 - _globals['_TRANSLATIONREQUEST']._serialized_end=21476 - _globals['_TRANSLATIONRESPONSE']._serialized_start=21478 - _globals['_TRANSLATIONRESPONSE']._serialized_end=21557 + _globals['_KEYSINFO']._serialized_start=2022 + _globals['_KEYSINFO']._serialized_end=2215 + _globals['_LOGINRESPONSE']._serialized_start=2218 + _globals['_LOGINRESPONSE']._serialized_end=2832 + _globals['_SWITCHLISTELEMENT']._serialized_start=2834 + _globals['_SWITCHLISTELEMENT']._serialized_end=2952 + _globals['_SWITCHLISTRESPONSE']._serialized_start=2954 + _globals['_SWITCHLISTRESPONSE']._serialized_end=3027 + _globals['_SSOUSERINFO']._serialized_start=3030 + _globals['_SSOUSERINFO']._serialized_end=3170 + _globals['_PRELOGINRESPONSE']._serialized_start=3173 + _globals['_PRELOGINRESPONSE']._serialized_end=3387 + _globals['_LOGINASUSERREQUEST']._serialized_start=3389 + _globals['_LOGINASUSERREQUEST']._serialized_end=3427 + _globals['_LOGINASUSERRESPONSE']._serialized_start=3429 + _globals['_LOGINASUSERRESPONSE']._serialized_end=3516 + _globals['_VALIDATEAUTHHASHREQUEST']._serialized_start=3519 + _globals['_VALIDATEAUTHHASHREQUEST']._serialized_end=3651 + _globals['_TWOFACTORCHANNELINFO']._serialized_start=3654 + _globals['_TWOFACTORCHANNELINFO']._serialized_end=4002 + _globals['_TWOFACTORDUOSTATUS']._serialized_start=4004 + _globals['_TWOFACTORDUOSTATUS']._serialized_end=4104 + _globals['_TWOFACTORADDREQUEST']._serialized_start=4107 + _globals['_TWOFACTORADDREQUEST']._serialized_end=4306 + _globals['_TWOFACTORRENAMEREQUEST']._serialized_start=4308 + _globals['_TWOFACTORRENAMEREQUEST']._serialized_end=4374 + _globals['_TWOFACTORADDRESPONSE']._serialized_start=4376 + _globals['_TWOFACTORADDRESPONSE']._serialized_end=4437 + _globals['_TWOFACTORDELETEREQUEST']._serialized_start=4439 + _globals['_TWOFACTORDELETEREQUEST']._serialized_end=4484 + _globals['_TWOFACTORLISTRESPONSE']._serialized_start=4486 + _globals['_TWOFACTORLISTRESPONSE']._serialized_end=4583 + _globals['_TWOFACTORUPDATEEXPIRATIONREQUEST']._serialized_start=4585 + _globals['_TWOFACTORUPDATEEXPIRATIONREQUEST']._serialized_end=4674 + _globals['_TWOFACTORVALIDATEREQUEST']._serialized_start=4677 + _globals['_TWOFACTORVALIDATEREQUEST']._serialized_end=4902 + _globals['_TWOFACTORVALIDATERESPONSE']._serialized_start=4904 + _globals['_TWOFACTORVALIDATERESPONSE']._serialized_end=4960 + _globals['_TWOFACTORSENDPUSHREQUEST']._serialized_start=4963 + _globals['_TWOFACTORSENDPUSHREQUEST']._serialized_end=5147 + _globals['_LICENSE']._serialized_start=5150 + _globals['_LICENSE']._serialized_end=5281 + _globals['_OWNERLESSRECORD']._serialized_start=5283 + _globals['_OWNERLESSRECORD']._serialized_end=5354 + _globals['_OWNERLESSRECORDS']._serialized_start=5356 + _globals['_OWNERLESSRECORDS']._serialized_end=5432 + _globals['_USERAUTHREQUEST']._serialized_start=5435 + _globals['_USERAUTHREQUEST']._serialized_end=5650 + _globals['_UIDREQUEST']._serialized_start=5652 + _globals['_UIDREQUEST']._serialized_end=5677 + _globals['_DEVICEUPDATEREQUEST']._serialized_start=5680 + _globals['_DEVICEUPDATEREQUEST']._serialized_end=5935 + _globals['_DEVICEUPDATERESPONSE']._serialized_start=5938 + _globals['_DEVICEUPDATERESPONSE']._serialized_end=6194 + _globals['_REGISTERDEVICEINREGIONREQUEST']._serialized_start=6197 + _globals['_REGISTERDEVICEINREGIONREQUEST']._serialized_end=6410 + _globals['_REGISTRATIONREQUEST']._serialized_start=6413 + _globals['_REGISTRATIONREQUEST']._serialized_end=6789 + _globals['_CONVERTUSERTOV3REQUEST']._serialized_start=6792 + _globals['_CONVERTUSERTOV3REQUEST']._serialized_end=7000 + _globals['_REVISIONRESPONSE']._serialized_start=7002 + _globals['_REVISIONRESPONSE']._serialized_end=7038 + _globals['_CHANGEEMAILREQUEST']._serialized_start=7040 + _globals['_CHANGEEMAILREQUEST']._serialized_end=7078 + _globals['_CHANGEEMAILRESPONSE']._serialized_start=7080 + _globals['_CHANGEEMAILRESPONSE']._serialized_end=7136 + _globals['_EMAILVERIFICATIONLINKRESPONSE']._serialized_start=7138 + _globals['_EMAILVERIFICATIONLINKRESPONSE']._serialized_end=7192 + _globals['_SECURITYDATA']._serialized_start=7194 + _globals['_SECURITYDATA']._serialized_end=7235 + _globals['_SECURITYSCOREDATA']._serialized_start=7237 + _globals['_SECURITYSCOREDATA']._serialized_end=7301 + _globals['_SECURITYDATAREQUEST']._serialized_start=7304 + _globals['_SECURITYDATAREQUEST']._serialized_end=7571 + _globals['_SECURITYREPORTINCREMENTALDATA']._serialized_start=7574 + _globals['_SECURITYREPORTINCREMENTALDATA']._serialized_end=7900 + _globals['_SECURITYREPORT']._serialized_start=7903 + _globals['_SECURITYREPORT']._serialized_end=8190 + _globals['_SECURITYREPORTSAVEREQUEST']._serialized_start=8192 + _globals['_SECURITYREPORTSAVEREQUEST']._serialized_end=8302 + _globals['_SECURITYREPORTREQUEST']._serialized_start=8304 + _globals['_SECURITYREPORTREQUEST']._serialized_end=8345 + _globals['_SECURITYREPORTRESPONSE']._serialized_start=8348 + _globals['_SECURITYREPORTRESPONSE']._serialized_end=8593 + _globals['_INCREMENTALSECURITYDATAREQUEST']._serialized_start=8595 + _globals['_INCREMENTALSECURITYDATAREQUEST']._serialized_end=8654 + _globals['_INCREMENTALSECURITYDATARESPONSE']._serialized_start=8657 + _globals['_INCREMENTALSECURITYDATARESPONSE']._serialized_end=8803 + _globals['_REUSEDPASSWORDSREQUEST']._serialized_start=8805 + _globals['_REUSEDPASSWORDSREQUEST']._serialized_end=8844 + _globals['_SUMMARYCONSOLEREPORT']._serialized_start=8846 + _globals['_SUMMARYCONSOLEREPORT']._serialized_end=8908 + _globals['_CHANGETOKEYTYPEONE']._serialized_start=8910 + _globals['_CHANGETOKEYTYPEONE']._serialized_end=9034 + _globals['_CHANGETOKEYTYPEONEREQUEST']._serialized_start=9036 + _globals['_CHANGETOKEYTYPEONEREQUEST']._serialized_end=9127 + _globals['_CHANGETOKEYTYPEONESTATUS']._serialized_start=9129 + _globals['_CHANGETOKEYTYPEONESTATUS']._serialized_end=9214 + _globals['_CHANGETOKEYTYPEONERESPONSE']._serialized_start=9216 + _globals['_CHANGETOKEYTYPEONERESPONSE']._serialized_end=9320 + _globals['_GETCHANGEKEYTYPESREQUEST']._serialized_start=9323 + _globals['_GETCHANGEKEYTYPESREQUEST']._serialized_end=9508 + _globals['_GETCHANGEKEYTYPESRESPONSE']._serialized_start=9511 + _globals['_GETCHANGEKEYTYPESRESPONSE']._serialized_end=9641 + _globals['_ALLOWEDKEYTYPES']._serialized_start=9644 + _globals['_ALLOWEDKEYTYPES']._serialized_end=9773 + _globals['_CHANGEKEYTYPES']._serialized_start=9775 + _globals['_CHANGEKEYTYPES']._serialized_end=9836 + _globals['_CHANGEKEYTYPE']._serialized_start=9839 + _globals['_CHANGEKEYTYPE']._serialized_end=10053 + _globals['_SETKEY']._serialized_start=10055 + _globals['_SETKEY']._serialized_end=10088 + _globals['_SETKEYREQUEST']._serialized_start=10090 + _globals['_SETKEYREQUEST']._serialized_end=10143 + _globals['_CREATEUSERREQUEST']._serialized_start=10146 + _globals['_CREATEUSERREQUEST']._serialized_end=10804 + _globals['_NODEENFORCEMENTADDORUPDATEREQUEST']._serialized_start=10806 + _globals['_NODEENFORCEMENTADDORUPDATEREQUEST']._serialized_end=10893 + _globals['_NODEENFORCEMENTREMOVEREQUEST']._serialized_start=10895 + _globals['_NODEENFORCEMENTREMOVEREQUEST']._serialized_end=10962 + _globals['_APIREQUESTBYKEY']._serialized_start=10965 + _globals['_APIREQUESTBYKEY']._serialized_end=11148 + _globals['_APIREQUESTBYKATOKAKEY']._serialized_start=11151 + _globals['_APIREQUESTBYKATOKAKEY']._serialized_end=11350 + _globals['_MEMCACHEREQUEST']._serialized_start=11352 + _globals['_MEMCACHEREQUEST']._serialized_end=11398 + _globals['_MEMCACHERESPONSE']._serialized_start=11400 + _globals['_MEMCACHERESPONSE']._serialized_end=11446 + _globals['_MASTERPASSWORDREENTRYREQUEST']._serialized_start=11448 + _globals['_MASTERPASSWORDREENTRYREQUEST']._serialized_end=11567 + _globals['_MASTERPASSWORDREENTRYRESPONSE']._serialized_start=11569 + _globals['_MASTERPASSWORDREENTRYRESPONSE']._serialized_end=11661 + _globals['_DEVICEREGISTRATIONREQUEST']._serialized_start=11664 + _globals['_DEVICEREGISTRATIONREQUEST']._serialized_end=11861 + _globals['_DEVICEVERIFICATIONREQUEST']._serialized_start=11864 + _globals['_DEVICEVERIFICATIONREQUEST']._serialized_end=12018 + _globals['_DEVICEVERIFICATIONRESPONSE']._serialized_start=12021 + _globals['_DEVICEVERIFICATIONRESPONSE']._serialized_end=12199 + _globals['_DEVICEAPPROVALREQUEST']._serialized_start=12202 + _globals['_DEVICEAPPROVALREQUEST']._serialized_end=12402 + _globals['_DEVICEAPPROVALRESPONSE']._serialized_start=12404 + _globals['_DEVICEAPPROVALRESPONSE']._serialized_end=12461 + _globals['_APPROVEDEVICEREQUEST']._serialized_start=12463 + _globals['_APPROVEDEVICEREQUEST']._serialized_end=12589 + _globals['_ENTERPRISEUSERALIASREQUEST']._serialized_start=12591 + _globals['_ENTERPRISEUSERALIASREQUEST']._serialized_end=12660 + _globals['_ENTERPRISEUSERADDALIASREQUEST']._serialized_start=12662 + _globals['_ENTERPRISEUSERADDALIASREQUEST']._serialized_end=12751 + _globals['_ENTERPRISEUSERADDALIASREQUESTV2']._serialized_start=12753 + _globals['_ENTERPRISEUSERADDALIASREQUESTV2']._serialized_end=12872 + _globals['_ENTERPRISEUSERADDALIASSTATUS']._serialized_start=12874 + _globals['_ENTERPRISEUSERADDALIASSTATUS']._serialized_end=12946 + _globals['_ENTERPRISEUSERADDALIASRESPONSE']._serialized_start=12948 + _globals['_ENTERPRISEUSERADDALIASRESPONSE']._serialized_end=13042 + _globals['_DEVICE']._serialized_start=13044 + _globals['_DEVICE']._serialized_end=13082 + _globals['_REGISTERDEVICEDATAKEYREQUEST']._serialized_start=13084 + _globals['_REGISTERDEVICEDATAKEYREQUEST']._serialized_end=13176 + _globals['_VALIDATECREATEUSERVERIFICATIONCODEREQUEST']._serialized_start=13178 + _globals['_VALIDATECREATEUSERVERIFICATIONCODEREQUEST']._serialized_end=13288 + _globals['_VALIDATEDEVICEVERIFICATIONCODEREQUEST']._serialized_start=13291 + _globals['_VALIDATEDEVICEVERIFICATIONCODEREQUEST']._serialized_end=13454 + _globals['_SENDSESSIONMESSAGEREQUEST']._serialized_start=13456 + _globals['_SENDSESSIONMESSAGEREQUEST']._serialized_end=13545 + _globals['_GLOBALUSERACCOUNT']._serialized_start=13547 + _globals['_GLOBALUSERACCOUNT']._serialized_end=13624 + _globals['_ACCOUNTUSERNAME']._serialized_start=13626 + _globals['_ACCOUNTUSERNAME']._serialized_end=13681 + _globals['_SSOSERVICEPROVIDERREQUEST']._serialized_start=13683 + _globals['_SSOSERVICEPROVIDERREQUEST']._serialized_end=13763 + _globals['_SSOSERVICEPROVIDERRESPONSE']._serialized_start=13765 + _globals['_SSOSERVICEPROVIDERRESPONSE']._serialized_end=13862 + _globals['_USERSETTINGREQUEST']._serialized_start=13864 + _globals['_USERSETTINGREQUEST']._serialized_end=13916 + _globals['_THROTTLESTATE']._serialized_start=13918 + _globals['_THROTTLESTATE']._serialized_end=14020 + _globals['_THROTTLESTATE2']._serialized_start=14023 + _globals['_THROTTLESTATE2']._serialized_end=14204 + _globals['_DEVICEINFORMATION']._serialized_start=14207 + _globals['_DEVICEINFORMATION']._serialized_end=14358 + _globals['_USERSETTING']._serialized_start=14360 + _globals['_USERSETTING']._serialized_end=14402 + _globals['_USERDATAKEYREQUEST']._serialized_start=14404 + _globals['_USERDATAKEYREQUEST']._serialized_end=14450 + _globals['_USERDATAKEYBYNODEREQUEST']._serialized_start=14452 + _globals['_USERDATAKEYBYNODEREQUEST']._serialized_end=14495 + _globals['_ENTERPRISEUSERIDDATAKEYPAIR']._serialized_start=14498 + _globals['_ENTERPRISEUSERIDDATAKEYPAIR']._serialized_end=14626 + _globals['_USERDATAKEY']._serialized_start=14629 + _globals['_USERDATAKEY']._serialized_end=14778 + _globals['_USERDATAKEYRESPONSE']._serialized_start=14780 + _globals['_USERDATAKEYRESPONSE']._serialized_end=14902 + _globals['_MASTERPASSWORDRECOVERYVERIFICATIONREQUEST']._serialized_start=14904 + _globals['_MASTERPASSWORDRECOVERYVERIFICATIONREQUEST']._serialized_end=14976 + _globals['_GETSECURITYQUESTIONV3REQUEST']._serialized_start=14978 + _globals['_GETSECURITYQUESTIONV3REQUEST']._serialized_end=15063 + _globals['_GETSECURITYQUESTIONV3RESPONSE']._serialized_start=15065 + _globals['_GETSECURITYQUESTIONV3RESPONSE']._serialized_end=15179 + _globals['_GETDATAKEYBACKUPV3REQUEST']._serialized_start=15181 + _globals['_GETDATAKEYBACKUPV3REQUEST']._serialized_end=15291 + _globals['_PASSWORDRULES']._serialized_start=15293 + _globals['_PASSWORDRULES']._serialized_end=15411 + _globals['_GETDATAKEYBACKUPV3RESPONSE']._serialized_start=15414 + _globals['_GETDATAKEYBACKUPV3RESPONSE']._serialized_end=15743 + _globals['_GETPUBLICKEYSREQUEST']._serialized_start=15745 + _globals['_GETPUBLICKEYSREQUEST']._serialized_end=15786 + _globals['_PUBLICKEYRESPONSE']._serialized_start=15789 + _globals['_PUBLICKEYRESPONSE']._serialized_end=15923 + _globals['_GETPUBLICKEYSRESPONSE']._serialized_start=15925 + _globals['_GETPUBLICKEYSRESPONSE']._serialized_end=16005 + _globals['_SETECCKEYPAIRREQUEST']._serialized_start=16007 + _globals['_SETECCKEYPAIRREQUEST']._serialized_end=16077 + _globals['_SETECCKEYPAIRSREQUEST']._serialized_start=16079 + _globals['_SETECCKEYPAIRSREQUEST']._serialized_end=16152 + _globals['_SETECCKEYPAIRSRESPONSE']._serialized_start=16154 + _globals['_SETECCKEYPAIRSRESPONSE']._serialized_end=16236 + _globals['_TEAMECCKEYPAIR']._serialized_start=16238 + _globals['_TEAMECCKEYPAIR']._serialized_end=16319 + _globals['_TEAMECCKEYPAIRRESPONSE']._serialized_start=16321 + _globals['_TEAMECCKEYPAIRRESPONSE']._serialized_end=16409 + _globals['_GETKSMPUBLICKEYSREQUEST']._serialized_start=16411 + _globals['_GETKSMPUBLICKEYSREQUEST']._serialized_end=16479 + _globals['_DEVICEPUBLICKEYRESPONSE']._serialized_start=16481 + _globals['_DEVICEPUBLICKEYRESPONSE']._serialized_end=16566 + _globals['_GETKSMPUBLICKEYSRESPONSE']._serialized_start=16568 + _globals['_GETKSMPUBLICKEYSRESPONSE']._serialized_end=16657 + _globals['_ADDAPPSHARESREQUEST']._serialized_start=16659 + _globals['_ADDAPPSHARESREQUEST']._serialized_end=16747 + _globals['_REMOVEAPPSHARESREQUEST']._serialized_start=16749 + _globals['_REMOVEAPPSHARESREQUEST']._serialized_end=16811 + _globals['_APPSHAREADD']._serialized_start=16814 + _globals['_APPSHAREADD']._serialized_end=16949 + _globals['_APPSHARE']._serialized_start=16952 + _globals['_APPSHARE']._serialized_end=17089 + _globals['_ADDAPPCLIENTREQUEST']._serialized_start=17092 + _globals['_ADDAPPCLIENTREQUEST']._serialized_end=17309 + _globals['_REMOVEAPPCLIENTSREQUEST']._serialized_start=17311 + _globals['_REMOVEAPPCLIENTSREQUEST']._serialized_end=17375 + _globals['_ADDEXTERNALSHAREREQUEST']._serialized_start=17378 + _globals['_ADDEXTERNALSHAREREQUEST']._serialized_end=17548 + _globals['_APPCLIENT']._serialized_start=17551 + _globals['_APPCLIENT']._serialized_end=17826 + _globals['_GETAPPINFOREQUEST']._serialized_start=17828 + _globals['_GETAPPINFOREQUEST']._serialized_end=17869 + _globals['_APPINFO']._serialized_start=17872 + _globals['_APPINFO']._serialized_end=18014 + _globals['_GETAPPINFORESPONSE']._serialized_start=18016 + _globals['_GETAPPINFORESPONSE']._serialized_end=18078 + _globals['_APPLICATIONSUMMARY']._serialized_start=18081 + _globals['_APPLICATIONSUMMARY']._serialized_end=18294 + _globals['_GETAPPLICATIONSSUMMARYRESPONSE']._serialized_start=18296 + _globals['_GETAPPLICATIONSSUMMARYRESPONSE']._serialized_end=18392 + _globals['_GETVERIFICATIONTOKENREQUEST']._serialized_start=18394 + _globals['_GETVERIFICATIONTOKENREQUEST']._serialized_end=18441 + _globals['_GETVERIFICATIONTOKENRESPONSE']._serialized_start=18443 + _globals['_GETVERIFICATIONTOKENRESPONSE']._serialized_end=18509 + _globals['_SENDSHAREINVITEREQUEST']._serialized_start=18511 + _globals['_SENDSHAREINVITEREQUEST']._serialized_end=18550 + _globals['_TIMELIMITEDACCESSREQUEST']._serialized_start=18553 + _globals['_TIMELIMITEDACCESSREQUEST']._serialized_end=18750 + _globals['_TIMELIMITEDACCESSSTATUS']._serialized_start=18752 + _globals['_TIMELIMITEDACCESSSTATUS']._serialized_end=18807 + _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_start=18810 + _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_end=19058 + _globals['_REQUESTDOWNLOADREQUEST']._serialized_start=19060 + _globals['_REQUESTDOWNLOADREQUEST']._serialized_end=19103 + _globals['_REQUESTDOWNLOADRESPONSE']._serialized_start=19105 + _globals['_REQUESTDOWNLOADRESPONSE']._serialized_end=19208 + _globals['_DOWNLOAD']._serialized_start=19210 + _globals['_DOWNLOAD']._serialized_end=19278 + _globals['_DELETEUSERREQUEST']._serialized_start=19280 + _globals['_DELETEUSERREQUEST']._serialized_end=19315 + _globals['_CHANGEMASTERPASSWORDREQUEST']._serialized_start=19318 + _globals['_CHANGEMASTERPASSWORDREQUEST']._serialized_end=19450 + _globals['_CHANGEMASTERPASSWORDRESPONSE']._serialized_start=19452 + _globals['_CHANGEMASTERPASSWORDRESPONSE']._serialized_end=19513 + _globals['_ACCOUNTRECOVERYSETUPREQUEST']._serialized_start=19515 + _globals['_ACCOUNTRECOVERYSETUPREQUEST']._serialized_end=19604 + _globals['_ACCOUNTRECOVERYVERIFYCODERESPONSE']._serialized_start=19607 + _globals['_ACCOUNTRECOVERYVERIFYCODERESPONSE']._serialized_end=19779 + _globals['_EMERGENCYACCESSLOGINREQUEST']._serialized_start=19781 + _globals['_EMERGENCYACCESSLOGINREQUEST']._serialized_end=19825 + _globals['_EMERGENCYACCESSLOGINRESPONSE']._serialized_start=19828 + _globals['_EMERGENCYACCESSLOGINRESPONSE']._serialized_end=20009 + _globals['_USERTEAMKEY']._serialized_start=20012 + _globals['_USERTEAMKEY']._serialized_end=20190 + _globals['_GENERICREQUESTRESPONSE']._serialized_start=20192 + _globals['_GENERICREQUESTRESPONSE']._serialized_end=20233 + _globals['_PASSKEYREGISTRATIONREQUEST']._serialized_start=20235 + _globals['_PASSKEYREGISTRATIONREQUEST']._serialized_end=20337 + _globals['_PASSKEYREGISTRATIONRESPONSE']._serialized_start=20339 + _globals['_PASSKEYREGISTRATIONRESPONSE']._serialized_end=20419 + _globals['_PASSKEYREGISTRATIONFINALIZATION']._serialized_start=20422 + _globals['_PASSKEYREGISTRATIONFINALIZATION']._serialized_end=20554 + _globals['_PASSKEYAUTHENTICATIONREQUEST']._serialized_start=20557 + _globals['_PASSKEYAUTHENTICATIONREQUEST']._serialized_end=20864 + _globals['_PASSKEYAUTHENTICATIONRESPONSE']._serialized_start=20867 + _globals['_PASSKEYAUTHENTICATIONRESPONSE']._serialized_end=21006 + _globals['_PASSKEYVALIDATIONREQUEST']._serialized_start=21009 + _globals['_PASSKEYVALIDATIONREQUEST']._serialized_end=21200 + _globals['_PASSKEYVALIDATIONRESPONSE']._serialized_start=21202 + _globals['_PASSKEYVALIDATIONRESPONSE']._serialized_end=21275 + _globals['_UPDATEPASSKEYREQUEST']._serialized_start=21277 + _globals['_UPDATEPASSKEYREQUEST']._serialized_end=21381 + _globals['_PASSKEYLISTREQUEST']._serialized_start=21383 + _globals['_PASSKEYLISTREQUEST']._serialized_end=21428 + _globals['_PASSKEYINFO']._serialized_start=21431 + _globals['_PASSKEYINFO']._serialized_end=21595 + _globals['_PASSKEYLISTRESPONSE']._serialized_start=21597 + _globals['_PASSKEYLISTRESPONSE']._serialized_end=21668 + _globals['_TRANSLATIONINFO']._serialized_start=21670 + _globals['_TRANSLATIONINFO']._serialized_end=21737 + _globals['_TRANSLATIONREQUEST']._serialized_start=21739 + _globals['_TRANSLATIONREQUEST']._serialized_end=21783 + _globals['_TRANSLATIONRESPONSE']._serialized_start=21785 + _globals['_TRANSLATIONRESPONSE']._serialized_end=21864 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.pyi b/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.pyi index 571e1409..99de21ff 100644 --- a/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/APIRequest_pb2.pyi @@ -1,4 +1,4 @@ -import enterprise_pb2 as _enterprise_pb2 +from . import enterprise_pb2 as _enterprise_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -651,8 +651,26 @@ class StartLoginRequest(_message.Message): fromSessionToken: bytes def __init__(self, encryptedDeviceToken: _Optional[bytes] = ..., username: _Optional[str] = ..., clientVersion: _Optional[str] = ..., messageSessionUid: _Optional[bytes] = ..., encryptedLoginToken: _Optional[bytes] = ..., loginType: _Optional[_Union[LoginType, str]] = ..., mcEnterpriseId: _Optional[int] = ..., loginMethod: _Optional[_Union[LoginMethod, str]] = ..., forceNewLogin: bool = ..., cloneCode: _Optional[bytes] = ..., v2TwoFactorToken: _Optional[str] = ..., accountUid: _Optional[bytes] = ..., fromSessionToken: _Optional[bytes] = ...) -> None: ... +class KeysInfo(_message.Message): + __slots__ = ("encryptionParams", "encryptedDataKey", "dataKeyBackupDate", "userAuthUid", "encryptedPrivateKey", "encryptedEccPrivateKey", "eccPublicKey") + ENCRYPTIONPARAMS_FIELD_NUMBER: _ClassVar[int] + ENCRYPTEDDATAKEY_FIELD_NUMBER: _ClassVar[int] + DATAKEYBACKUPDATE_FIELD_NUMBER: _ClassVar[int] + USERAUTHUID_FIELD_NUMBER: _ClassVar[int] + ENCRYPTEDPRIVATEKEY_FIELD_NUMBER: _ClassVar[int] + ENCRYPTEDECCPRIVATEKEY_FIELD_NUMBER: _ClassVar[int] + ECCPUBLICKEY_FIELD_NUMBER: _ClassVar[int] + encryptionParams: bytes + encryptedDataKey: bytes + dataKeyBackupDate: float + userAuthUid: bytes + encryptedPrivateKey: bytes + encryptedEccPrivateKey: bytes + eccPublicKey: bytes + def __init__(self, encryptionParams: _Optional[bytes] = ..., encryptedDataKey: _Optional[bytes] = ..., dataKeyBackupDate: _Optional[float] = ..., userAuthUid: _Optional[bytes] = ..., encryptedPrivateKey: _Optional[bytes] = ..., encryptedEccPrivateKey: _Optional[bytes] = ..., eccPublicKey: _Optional[bytes] = ...) -> None: ... + class LoginResponse(_message.Message): - __slots__ = ("loginState", "accountUid", "primaryUsername", "encryptedDataKey", "encryptedDataKeyType", "encryptedLoginToken", "encryptedSessionToken", "sessionTokenType", "message", "url", "channels", "salt", "cloneCode", "stateSpecificValue", "ssoClientVersion", "sessionTokenTypeModifier") + __slots__ = ("loginState", "accountUid", "primaryUsername", "encryptedDataKey", "encryptedDataKeyType", "encryptedLoginToken", "encryptedSessionToken", "sessionTokenType", "message", "url", "channels", "salt", "cloneCode", "stateSpecificValue", "ssoClientVersion", "sessionTokenTypeModifier", "keysInfo", "clientKey") LOGINSTATE_FIELD_NUMBER: _ClassVar[int] ACCOUNTUID_FIELD_NUMBER: _ClassVar[int] PRIMARYUSERNAME_FIELD_NUMBER: _ClassVar[int] @@ -669,6 +687,8 @@ class LoginResponse(_message.Message): STATESPECIFICVALUE_FIELD_NUMBER: _ClassVar[int] SSOCLIENTVERSION_FIELD_NUMBER: _ClassVar[int] SESSIONTOKENTYPEMODIFIER_FIELD_NUMBER: _ClassVar[int] + KEYSINFO_FIELD_NUMBER: _ClassVar[int] + CLIENTKEY_FIELD_NUMBER: _ClassVar[int] loginState: LoginState accountUid: bytes primaryUsername: str @@ -685,7 +705,9 @@ class LoginResponse(_message.Message): stateSpecificValue: str ssoClientVersion: str sessionTokenTypeModifier: str - def __init__(self, loginState: _Optional[_Union[LoginState, str]] = ..., accountUid: _Optional[bytes] = ..., primaryUsername: _Optional[str] = ..., encryptedDataKey: _Optional[bytes] = ..., encryptedDataKeyType: _Optional[_Union[EncryptedDataKeyType, str]] = ..., encryptedLoginToken: _Optional[bytes] = ..., encryptedSessionToken: _Optional[bytes] = ..., sessionTokenType: _Optional[_Union[SessionTokenType, str]] = ..., message: _Optional[str] = ..., url: _Optional[str] = ..., channels: _Optional[_Iterable[_Union[TwoFactorChannelInfo, _Mapping]]] = ..., salt: _Optional[_Iterable[_Union[Salt, _Mapping]]] = ..., cloneCode: _Optional[bytes] = ..., stateSpecificValue: _Optional[str] = ..., ssoClientVersion: _Optional[str] = ..., sessionTokenTypeModifier: _Optional[str] = ...) -> None: ... + keysInfo: KeysInfo + clientKey: bytes + def __init__(self, loginState: _Optional[_Union[LoginState, str]] = ..., accountUid: _Optional[bytes] = ..., primaryUsername: _Optional[str] = ..., encryptedDataKey: _Optional[bytes] = ..., encryptedDataKeyType: _Optional[_Union[EncryptedDataKeyType, str]] = ..., encryptedLoginToken: _Optional[bytes] = ..., encryptedSessionToken: _Optional[bytes] = ..., sessionTokenType: _Optional[_Union[SessionTokenType, str]] = ..., message: _Optional[str] = ..., url: _Optional[str] = ..., channels: _Optional[_Iterable[_Union[TwoFactorChannelInfo, _Mapping]]] = ..., salt: _Optional[_Iterable[_Union[Salt, _Mapping]]] = ..., cloneCode: _Optional[bytes] = ..., stateSpecificValue: _Optional[str] = ..., ssoClientVersion: _Optional[str] = ..., sessionTokenTypeModifier: _Optional[str] = ..., keysInfo: _Optional[_Union[KeysInfo, _Mapping]] = ..., clientKey: _Optional[bytes] = ...) -> None: ... class SwitchListElement(_message.Message): __slots__ = ("username", "fullName", "authRequired", "isLinked", "profilePicUrl") @@ -760,7 +782,7 @@ class ValidateAuthHashRequest(_message.Message): def __init__(self, passwordMethod: _Optional[_Union[PasswordMethod, str]] = ..., authResponse: _Optional[bytes] = ..., encryptedLoginToken: _Optional[bytes] = ...) -> None: ... class TwoFactorChannelInfo(_message.Message): - __slots__ = ("channelType", "channel_uid", "channelName", "challenge", "capabilities", "phoneNumber", "maxExpiration", "createdOn", "lastFrequency") + __slots__ = ("channelType", "channel_uid", "channelName", "challenge", "capabilities", "phoneNumber", "maxExpiration", "createdOn", "lastFrequency", "challengeToken") CHANNELTYPE_FIELD_NUMBER: _ClassVar[int] CHANNEL_UID_FIELD_NUMBER: _ClassVar[int] CHANNELNAME_FIELD_NUMBER: _ClassVar[int] @@ -770,6 +792,7 @@ class TwoFactorChannelInfo(_message.Message): MAXEXPIRATION_FIELD_NUMBER: _ClassVar[int] CREATEDON_FIELD_NUMBER: _ClassVar[int] LASTFREQUENCY_FIELD_NUMBER: _ClassVar[int] + CHALLENGETOKEN_FIELD_NUMBER: _ClassVar[int] channelType: TwoFactorChannelType channel_uid: bytes channelName: str @@ -779,7 +802,8 @@ class TwoFactorChannelInfo(_message.Message): maxExpiration: TwoFactorExpiration createdOn: int lastFrequency: TwoFactorExpiration - def __init__(self, channelType: _Optional[_Union[TwoFactorChannelType, str]] = ..., channel_uid: _Optional[bytes] = ..., channelName: _Optional[str] = ..., challenge: _Optional[str] = ..., capabilities: _Optional[_Iterable[str]] = ..., phoneNumber: _Optional[str] = ..., maxExpiration: _Optional[_Union[TwoFactorExpiration, str]] = ..., createdOn: _Optional[int] = ..., lastFrequency: _Optional[_Union[TwoFactorExpiration, str]] = ...) -> None: ... + challengeToken: bytes + def __init__(self, channelType: _Optional[_Union[TwoFactorChannelType, str]] = ..., channel_uid: _Optional[bytes] = ..., channelName: _Optional[str] = ..., challenge: _Optional[str] = ..., capabilities: _Optional[_Iterable[str]] = ..., phoneNumber: _Optional[str] = ..., maxExpiration: _Optional[_Union[TwoFactorExpiration, str]] = ..., createdOn: _Optional[int] = ..., lastFrequency: _Optional[_Union[TwoFactorExpiration, str]] = ..., challengeToken: _Optional[bytes] = ...) -> None: ... class TwoFactorDuoStatus(_message.Message): __slots__ = ("capabilities", "phoneNumber", "enroll_url", "message") @@ -844,18 +868,20 @@ class TwoFactorUpdateExpirationRequest(_message.Message): def __init__(self, expireIn: _Optional[_Union[TwoFactorExpiration, str]] = ...) -> None: ... class TwoFactorValidateRequest(_message.Message): - __slots__ = ("encryptedLoginToken", "valueType", "value", "channel_uid", "expireIn") + __slots__ = ("encryptedLoginToken", "valueType", "value", "channel_uid", "expireIn", "challengeToken") ENCRYPTEDLOGINTOKEN_FIELD_NUMBER: _ClassVar[int] VALUETYPE_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] CHANNEL_UID_FIELD_NUMBER: _ClassVar[int] EXPIREIN_FIELD_NUMBER: _ClassVar[int] + CHALLENGETOKEN_FIELD_NUMBER: _ClassVar[int] encryptedLoginToken: bytes valueType: TwoFactorValueType value: str channel_uid: bytes expireIn: TwoFactorExpiration - def __init__(self, encryptedLoginToken: _Optional[bytes] = ..., valueType: _Optional[_Union[TwoFactorValueType, str]] = ..., value: _Optional[str] = ..., channel_uid: _Optional[bytes] = ..., expireIn: _Optional[_Union[TwoFactorExpiration, str]] = ...) -> None: ... + challengeToken: bytes + def __init__(self, encryptedLoginToken: _Optional[bytes] = ..., valueType: _Optional[_Union[TwoFactorValueType, str]] = ..., value: _Optional[str] = ..., channel_uid: _Optional[bytes] = ..., expireIn: _Optional[_Union[TwoFactorExpiration, str]] = ..., challengeToken: _Optional[bytes] = ...) -> None: ... class TwoFactorValidateResponse(_message.Message): __slots__ = ("encryptedLoginToken",) diff --git a/keepersdk-package/src/keepersdk/proto/BI_pb2.py b/keepersdk-package/src/keepersdk/proto/BI_pb2.py index 8f2304c7..3f14f0ba 100644 --- a/keepersdk-package/src/keepersdk/proto/BI_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/BI_pb2.py @@ -25,7 +25,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x08\x42I.proto\x12\x02\x42I\x1a\x1cgoogle/protobuf/struct.proto\"f\n\x1bValidateSessionTokenRequest\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12\x1c\n\x14returnMcEnterpiseIds\x18\x02 \x01(\x08\x12\n\n\x02ip\x18\x03 \x01(\t\"\xda\x02\n\x1cValidateSessionTokenResponse\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\x05\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x37\n\x06status\x18\x04 \x01(\x0e\x32\'.BI.ValidateSessionTokenResponse.Status\x12\x15\n\rstatusMessage\x18\x05 \x01(\t\x12\x17\n\x0fmcEnterpriseIds\x18\x06 \x03(\x05\x12\x18\n\x10hasMSPPermission\x18\x07 \x01(\x08\x12\x1e\n\x16\x64\x65letedMcEnterpriseIds\x18\x08 \x03(\x05\"[\n\x06Status\x12\t\n\x05VALID\x10\x00\x12\r\n\tNOT_VALID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x12\x0e\n\nIP_BLOCKED\x10\x03\x12\x1a\n\x16INVALID_CLIENT_VERSION\x10\x04\"\x1b\n\x19SubscriptionStatusRequest\"\xe1\x03\n\x1aSubscriptionStatusResponse\x12$\n\x0b\x61utoRenewal\x18\x01 \x01(\x0b\x32\x0f.BI.AutoRenewal\x12/\n\x14\x63urrentPaymentMethod\x18\x02 \x01(\x0b\x32\x11.BI.PaymentMethod\x12\x14\n\x0c\x63heckoutLink\x18\x03 \x01(\t\x12\x19\n\x11licenseCreateDate\x18\x04 \x01(\x03\x12\x15\n\risDistributor\x18\x05 \x01(\x08\x12\x13\n\x0bisLegacyMsp\x18\x06 \x01(\x08\x12&\n\x0clicenseStats\x18\x08 \x03(\x0b\x32\x10.BI.LicenseStats\x12\x35\n\x0egradientStatus\x18\t \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x17\n\x0fhideTrialBanner\x18\n \x01(\x08\x12\x1c\n\x14gradientLastSyncDate\x18\x0b \x01(\t\x12\x1c\n\x14gradientNextSyncDate\x18\x0c \x01(\t\x12 \n\x18isGradientMappingPending\x18\r \x01(\x08\x12\x1b\n\x03nhi\x18\x0e \x01(\x0b\x32\x0e.BI.NhiBilling\x12\x1c\n\x14\x66reeKsmApiCallsCount\x18\x0f \x01(\x05\"\x95\x01\n\nNhiBilling\x12\x1d\n\x15\x62illingStartTimestamp\x18\x01 \x01(\x03\x12\x1b\n\x13\x62illingEndTimestamp\x18\x02 \x01(\x03\x12\x15\n\rcurrentTierId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseBlocks\x18\x04 \x01(\x05\x12\x1a\n\x12\x63urrentTierCeiling\x18\x05 \x01(\x05\"\x97\x02\n\x0cLicenseStats\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.BI.LicenseStats.Type\x12\x11\n\tavailable\x18\x02 \x01(\x05\x12\x0c\n\x04used\x18\x03 \x01(\x05\"\xc0\x01\n\x04Type\x12\x18\n\x14LICENSE_STAT_UNKNOWN\x10\x00\x12\x0c\n\x08MSP_BASE\x10\x01\x12\x0f\n\x0bMC_BUSINESS\x10\x02\x12\x14\n\x10MC_BUSINESS_PLUS\x10\x03\x12\x11\n\rMC_ENTERPRISE\x10\x04\x12\x16\n\x12MC_ENTERPRISE_PLUS\x10\x05\x12\x18\n\x14\x42\x32\x42_BUSINESS_STARTER\x10\x06\x12\x10\n\x0c\x42\x32\x42_BUSINESS\x10\x07\x12\x12\n\x0e\x42\x32\x42_ENTERPRISE\x10\x08\"@\n\x0b\x41utoRenewal\x12\x0e\n\x06nextOn\x18\x01 \x01(\x03\x12\x10\n\x08\x64\x61ysLeft\x18\x02 \x01(\x05\x12\x0f\n\x07isTrial\x18\x03 \x01(\x08\"\x84\x04\n\rPaymentMethod\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.BI.PaymentMethod.Type\x12$\n\x04\x63\x61rd\x18\x02 \x01(\x0b\x32\x16.BI.PaymentMethod.Card\x12$\n\x04sepa\x18\x03 \x01(\x0b\x32\x16.BI.PaymentMethod.Sepa\x12(\n\x06paypal\x18\x04 \x01(\x0b\x32\x18.BI.PaymentMethod.Paypal\x12\x15\n\rfailedBilling\x18\x05 \x01(\x08\x12(\n\x06vendor\x18\x06 \x01(\x0b\x32\x18.BI.PaymentMethod.Vendor\x12\x36\n\rpurchaseOrder\x18\x07 \x01(\x0b\x32\x1f.BI.PaymentMethod.PurchaseOrder\x1a$\n\x04\x43\x61rd\x12\r\n\x05last4\x18\x01 \x01(\t\x12\r\n\x05\x62rand\x18\x02 \x01(\t\x1a&\n\x04Sepa\x12\r\n\x05last4\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x1a\x08\n\x06Paypal\x1a\x16\n\x06Vendor\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x1d\n\rPurchaseOrder\x12\x0c\n\x04name\x18\x01 \x01(\t\"O\n\x04Type\x12\x08\n\x04\x43\x41RD\x10\x00\x12\x08\n\x04SEPA\x10\x01\x12\n\n\x06PAYPAL\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\n\n\x06VENDOR\x10\x04\x12\x11\n\rPURCHASEORDER\x10\x05\"\x1f\n\x1dSubscriptionMspPricingRequest\"\\\n\x1eSubscriptionMspPricingResponse\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\"\x1e\n\x1cSubscriptionMcPricingRequest\"|\n\x1dSubscriptionMcPricingResponse\x12\x1f\n\tbasePlans\x18\x01 \x03(\x0b\x32\x0c.BI.BasePlan\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\".\n\x08\x42\x61sePlan\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"C\n\x05\x41\x64\x64on\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\x12\x16\n\x0e\x61mountConsumed\x18\x03 \x01(\x03\".\n\x08\x46ilePlan\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"\x84\x02\n\x04\x43ost\x12\x0e\n\x06\x61mount\x18\x03 \x01(\x01\x12%\n\tamountPer\x18\x04 \x01(\x0e\x32\x12.BI.Cost.AmountPer\x12\x1e\n\x08\x63urrency\x18\x05 \x01(\x0e\x32\x0c.BI.Currency\"\xa4\x01\n\tAmountPer\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x0e\n\nUSER_MONTH\x10\x02\x12\x17\n\x13USER_CONSUMED_MONTH\x10\x03\x12\x12\n\x0e\x45NDPOINT_MONTH\x10\x04\x12\r\n\tUSER_YEAR\x10\x05\x12\x16\n\x12USER_CONSUMED_YEAR\x10\x06\x12\x08\n\x04YEAR\x10\x07\x12\x11\n\rENDPOINT_YEAR\x10\x08\"\\\n\x14InvoiceSearchRequest\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x17\n\x0fstartingAfterId\x18\x02 \x01(\x05\x12\x1d\n\x15\x61llInvoicesUnfiltered\x18\x03 \x01(\x08\"6\n\x15InvoiceSearchResponse\x12\x1d\n\x08invoices\x18\x01 \x03(\x0b\x32\x0b.BI.Invoice\"\xbe\x02\n\x07Invoice\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x13\n\x0binvoiceDate\x18\x03 \x01(\x03\x12\x14\n\x0clicenseCount\x18\x04 \x01(\x05\x12#\n\ttotalCost\x18\x05 \x01(\x0b\x32\x10.BI.Invoice.Cost\x12%\n\x0binvoiceType\x18\x06 \x01(\x0e\x32\x10.BI.Invoice.Type\x1a\x36\n\x04\x43ost\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x1e\n\x08\x63urrency\x18\x02 \x01(\x0e\x32\x0c.BI.Currency\"a\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03NEW\x10\x01\x12\x0b\n\x07RENEWAL\x10\x02\x12\x0b\n\x07UPGRADE\x10\x03\x12\x0b\n\x07RESTORE\x10\x04\x12\x0f\n\x0b\x41SSOCIATION\x10\x05\x12\x0b\n\x07OVERAGE\x10\x06\"\x1a\n\x18VaultInvoicesListRequest\"?\n\x19VaultInvoicesListResponse\x12\"\n\x08invoices\x18\x01 \x03(\x0b\x32\x10.BI.VaultInvoice\"\x8f\x01\n\x0cVaultInvoice\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61teCreated\x18\x03 \x01(\x03\x12\x1f\n\x05total\x18\x04 \x01(\x0b\x32\x10.BI.Invoice.Cost\x12&\n\x0cpurchaseType\x18\x05 \x01(\x0e\x32\x10.BI.Invoice.Type\"/\n\x16InvoiceDownloadRequest\x12\x15\n\rinvoiceNumber\x18\x01 \x01(\t\"9\n\x17InvoiceDownloadResponse\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\"8\n\x1fVaultInvoiceDownloadLinkRequest\x12\x15\n\rinvoiceNumber\x18\x01 \x01(\t\"B\n VaultInvoiceDownloadLinkResponse\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\"<\n\x1dReportingDailySnapshotRequest\x12\r\n\x05month\x18\x01 \x01(\x05\x12\x0c\n\x04year\x18\x02 \x01(\x05\"v\n\x1eReportingDailySnapshotResponse\x12#\n\x07records\x18\x01 \x03(\x0b\x32\x12.BI.SnapshotRecord\x12/\n\rmcEnterprises\x18\x02 \x03(\x0b\x32\x18.BI.SnapshotMcEnterprise\"\xd7\x01\n\x0eSnapshotRecord\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x03\x12\x16\n\x0emcEnterpriseId\x18\x02 \x01(\x05\x12\x17\n\x0fmaxLicenseCount\x18\x04 \x01(\x05\x12\x19\n\x11maxFilePlanTypeId\x18\x05 \x01(\x05\x12\x15\n\rmaxBasePlanId\x18\x06 \x01(\x05\x12(\n\x06\x61\x64\x64ons\x18\x07 \x03(\x0b\x32\x18.BI.SnapshotRecord.Addon\x1a*\n\x05\x41\x64\x64on\x12\x12\n\nmaxAddonId\x18\x01 \x01(\x05\x12\r\n\x05units\x18\x02 \x01(\x03\"0\n\x14SnapshotMcEnterprise\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x16\n\x14MappingAddonsRequest\"\\\n\x15MappingAddonsResponse\x12\x1f\n\x06\x61\x64\x64ons\x18\x01 \x03(\x0b\x32\x0f.BI.MappingItem\x12\"\n\tfilePlans\x18\x02 \x03(\x0b\x32\x0f.BI.MappingItem\"\'\n\x0bMappingItem\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"1\n\x1aGradientValidateKeyRequest\x12\x13\n\x0bgradientKey\x18\x01 \x01(\t\"?\n\x1bGradientValidateKeyResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"D\n\x13GradientSaveRequest\x12\x13\n\x0bgradientKey\x18\x01 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"g\n\x14GradientSaveResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"1\n\x15GradientRemoveRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\":\n\x16GradientRemoveResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"/\n\x13GradientSyncRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\"g\n\x14GradientSyncResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"N\n\'NetPromoterScoreSurveySubmissionRequest\x12\x14\n\x0csurvey_score\x18\x01 \x01(\x05\x12\r\n\x05notes\x18\x02 \x01(\t\"*\n(NetPromoterScoreSurveySubmissionResponse\"&\n$NetPromoterScorePopupScheduleRequest\";\n%NetPromoterScorePopupScheduleResponse\x12\x12\n\nshow_popup\x18\x01 \x01(\x08\"\'\n%NetPromoterScorePopupDismissalRequest\"(\n&NetPromoterScorePopupDismissalResponse\"-\n\x11KCMLicenseRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\"%\n\x12KCMLicenseResponse\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x84\x01\n\x0c\x45ventRequest\x12 \n\teventType\x18\x01 \x01(\x0e\x32\r.BI.EventType\x12\x12\n\neventValue\x18\x02 \x01(\t\x12\x11\n\teventTime\x18\x03 \x01(\x03\x12+\n\nattributes\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"0\n\rEventsRequest\x12\x1f\n\x05\x65vent\x18\x01 \x03(\x0b\x32\x10.BI.EventRequest\".\n\rEventResponse\x12\r\n\x05index\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x08\"5\n\x0e\x45ventsResponse\x12#\n\x08response\x18\x01 \x03(\x0b\x32\x11.BI.EventResponse\"\xa9\x01\n\x16\x43ustomerCaptureRequest\x12\x0f\n\x07pageUrl\x18\x01 \x01(\t\x12\x0c\n\x04tree\x18\x02 \x01(\t\x12\x0c\n\x04hash\x18\x03 \x01(\t\x12\r\n\x05image\x18\x04 \x01(\t\x12\x14\n\x0cpageLoadTime\x18\x05 \x01(\t\x12\r\n\x05keyId\x18\x06 \x01(\t\x12\x0c\n\x04test\x18\x07 \x01(\x08\x12\x11\n\tissueType\x18\x08 \x01(\t\x12\r\n\x05notes\x18\t \x01(\t\"\x19\n\x17\x43ustomerCaptureResponse\"|\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x06\x65xtras\x18\x03 \x03(\x0b\x32\x15.BI.Error.ExtrasEntry\x1a-\n\x0b\x45xtrasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x96\x01\n\rQuotePurchase\x12\x12\n\nquoteTotal\x18\x01 \x01(\x01\x12\x13\n\x0bincludedTax\x18\x02 \x01(\x08\x12\x1b\n\x13includedOtherAddons\x18\x03 \x01(\x08\x12\x11\n\ttaxAmount\x18\x04 \x01(\x01\x12\x10\n\x08taxLabel\x18\x05 \x01(\t\x12\x1a\n\x12purchaseIdentifier\x18\x06 \x01(\t\"k\n\x0fPurchaseOptions\x12\x16\n\tinConsole\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x10\x65xternalCheckout\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_inConsoleB\x13\n\x11_externalCheckout\"\xae\x06\n\x14\x41\x64\x64onPurchaseOptions\x12)\n\x07storage\x18\x01 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x00\x88\x01\x01\x12\'\n\x05\x61udit\x18\x02 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x01\x88\x01\x01\x12-\n\x0b\x62reachwatch\x18\x03 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x02\x88\x01\x01\x12&\n\x04\x63hat\x18\x04 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x03\x88\x01\x01\x12,\n\ncompliance\x18\x05 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x04\x88\x01\x01\x12<\n\x1aprofessionalServicesSilver\x18\x06 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x05\x88\x01\x01\x12>\n\x1cprofessionalServicesPlatinum\x18\x07 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x06\x88\x01\x01\x12%\n\x03pam\x18\x08 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x07\x88\x01\x01\x12%\n\x03\x65pm\x18\t \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x08\x88\x01\x01\x12\x30\n\x0esecretsManager\x18\n \x01(\x0b\x32\x13.BI.PurchaseOptionsH\t\x88\x01\x01\x12\x33\n\x11\x63onnectionManager\x18\x0b \x01(\x0b\x32\x13.BI.PurchaseOptionsH\n\x88\x01\x01\x12\x38\n\x16remoteBrowserIsolation\x18\x0c \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x0b\x88\x01\x01\x42\n\n\x08_storageB\x08\n\x06_auditB\x0e\n\x0c_breachwatchB\x07\n\x05_chatB\r\n\x0b_complianceB\x1d\n\x1b_professionalServicesSilverB\x1f\n\x1d_professionalServicesPlatinumB\x06\n\x04_pamB\x06\n\x04_epmB\x11\n\x0f_secretsManagerB\x14\n\x12_connectionManagerB\x19\n\x17_remoteBrowserIsolation\"\x8f\x01\n\x18\x41vailablePurchaseOptions\x12%\n\x08\x62\x61sePlan\x18\x01 \x01(\x0b\x32\x13.BI.PurchaseOptions\x12\"\n\x05users\x18\x02 \x01(\x0b\x32\x13.BI.PurchaseOptions\x12(\n\x06\x61\x64\x64ons\x18\x03 \x01(\x0b\x32\x18.BI.AddonPurchaseOptions\"\x1d\n\x1bUpgradeLicenseStatusRequest\"\x91\x01\n\x1cUpgradeLicenseStatusResponse\x12 \n\x18\x61llowPurchaseFromConsole\x18\x01 \x01(\x08\x12\x35\n\x0fpurchaseOptions\x18\x02 \x01(\x0b\x32\x1c.BI.AvailablePurchaseOptions\x12\x18\n\x05\x65rror\x18\x03 \x01(\x0b\x32\t.BI.Error\"r\n\"UpgradeLicenseQuotePurchaseRequest\x12,\n\x0bproductType\x18\x01 \x01(\x0e\x32\x17.BI.PurchaseProductType\x12\x10\n\x08quantity\x18\x02 \x01(\x05\x12\x0c\n\x04tier\x18\x03 \x01(\x05\"\x93\x01\n#UpgradeLicenseQuotePurchaseResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12(\n\rquotePurchase\x18\x02 \x01(\x0b\x32\x11.BI.QuotePurchase\x12\x17\n\x0fviewSummaryLink\x18\x03 \x01(\t\x12\x18\n\x05\x65rror\x18\x04 \x01(\x0b\x32\t.BI.Error\"\x9f\x01\n%UpgradeLicenseCompletePurchaseRequest\x12,\n\x0bproductType\x18\x01 \x01(\x0e\x32\x17.BI.PurchaseProductType\x12\x10\n\x08quantity\x18\x02 \x01(\x05\x12(\n\rquotePurchase\x18\x03 \x01(\x0b\x32\x11.BI.QuotePurchase\x12\x0c\n\x04tier\x18\x04 \x01(\x05\"\x94\x01\n&UpgradeLicenseCompletePurchaseResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x18\n\x05\x65rror\x18\x03 \x01(\x0b\x32\t.BI.Error\x12(\n\rquotePurchase\x18\x04 \x01(\x0b\x32\x11.BI.QuotePurchase\"\xd5\x01\n\x12\x45nterpriseBasePlan\x12I\n\x0f\x62\x61seplanVersion\x18\x01 \x01(\x0e\x32\x30.BI.EnterpriseBasePlan.EnterpriseBasePlanVersion\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"\\\n\x19\x45nterpriseBasePlanVersion\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10\x42USINESS_STARTER\x10\x01\x12\x0c\n\x08\x42USINESS\x10\x02\x12\x0e\n\nENTERPRISE\x10\x03\"&\n$SubscriptionEnterprisePricingRequest\"\x8e\x01\n%SubscriptionEnterprisePricingResponse\x12)\n\tbasePlans\x18\x01 \x03(\x0b\x32\x16.BI.EnterpriseBasePlan\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\"J\n\x18SingularDeviceIdentifier\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x06idType\x18\x02 \x01(\x0e\x32\x12.BI.IdentifierType\"\xac\x01\n\x12SingularSharedData\x12\x10\n\x08platform\x18\x01 \x01(\t\x12\x11\n\tosVersion\x18\x02 \x01(\t\x12\x0c\n\x04make\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x0e\n\x06locale\x18\x05 \x01(\t\x12\r\n\x05\x62uild\x18\x06 \x01(\t\x12\x15\n\rappIdentifier\x18\x07 \x01(\t\x12\x1e\n\x16\x61ttAuthorizationStatus\x18\x08 \x01(\x05\"\x8b\x03\n\x16SingularSessionRequest\x12\x37\n\x11\x64\x65viceIdentifiers\x18\x01 \x03(\x0b\x32\x1c.BI.SingularDeviceIdentifier\x12*\n\nsharedData\x18\x02 \x01(\x0b\x32\x16.BI.SingularSharedData\x12\x1a\n\x12\x61pplicationVersion\x18\x03 \x01(\t\x12\x0f\n\x07install\x18\x04 \x01(\x08\x12\x13\n\x0binstallTime\x18\x05 \x01(\x03\x12\x12\n\nupdateTime\x18\x06 \x01(\x03\x12\x15\n\rinstallSource\x18\x07 \x01(\t\x12\x16\n\x0einstallReceipt\x18\x08 \x01(\t\x12\x0f\n\x07openuri\x18\t \x01(\t\x12\x12\n\nddlEnabled\x18\n \x01(\x08\x12#\n\x1bsingularLinkResolveRequired\x18\x0b \x01(\x08\x12\x12\n\ninstallRef\x18\x0c \x01(\t\x12\x0f\n\x07metaRef\x18\r \x01(\t\x12\x18\n\x10\x61ttributionToken\x18\x0e \x01(\t\"\x8e\x01\n\x14SingularEventRequest\x12\x37\n\x11\x64\x65viceIdentifiers\x18\x01 \x03(\x0b\x32\x1c.BI.SingularDeviceIdentifier\x12*\n\nsharedData\x18\x02 \x01(\x0b\x32\x16.BI.SingularSharedData\x12\x11\n\teventName\x18\x03 \x01(\t\"-\n\x15\x41\x63tivePamCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\"*\n\x16\x41\x63tivePamCountResponse\x12\x10\n\x08pamCount\x18\x01 \x01(\x05\"P\n\x14NhiEnterpriseRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x11\n\tstartTime\x18\x02 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x03 \x01(\x03\"\x89\x01\n\x11NhiMetricsRequest\x12\x19\n\renterpriseIds\x18\x01 \x03(\x05\x42\x02\x18\x01\x12\x15\n\tstartTime\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x13\n\x07\x65ndTime\x18\x03 \x01(\x03\x42\x02\x18\x01\x12-\n\x0b\x65nterprises\x18\x04 \x03(\x0b\x32\x18.BI.NhiEnterpriseRequest*M\n\x08\x43urrency\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03USD\x10\x01\x12\x07\n\x03GBP\x10\x02\x12\x07\n\x03JPY\x10\x03\x12\x07\n\x03\x45UR\x10\x04\x12\x07\n\x03\x41UD\x10\x05\x12\x07\n\x03\x43\x41\x44\x10\x06*S\n\x19GradientIntegrationStatus\x12\x10\n\x0cNOTCONNECTED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\r\n\tCONNECTED\x10\x02\x12\x08\n\x04NONE\x10\x03*\xdf\x01\n\tEventType\x12\x1f\n\x1bUNKNOWN_TRACKING_EVENT_TYPE\x10\x00\x12\x1c\n\x18TRACKING_POPUP_DISPLAYED\x10\x01\x12\x1b\n\x17TRACKING_POPUP_ACCEPTED\x10\x02\x12\x1c\n\x18TRACKING_POPUP_DISMISSED\x10\x03\x12\x17\n\x13TRACKING_POPUP_PAID\x10\x04\x12\x19\n\x15TRACKING_PUSH_CLICKED\x10\x05\x12\x12\n\x0e\x43ONSOLE_ACTION\x10\x06\x12\x10\n\x0cVAULT_ACTION\x10\x07*\xd5\x01\n\x13PurchaseProductType\x12\x17\n\x13upgradeToEnterprise\x10\x00\x12\x0c\n\x08\x61\x64\x64Users\x10\x01\x12\x0e\n\naddStorage\x10\x02\x12\x0c\n\x08\x61\x64\x64\x41udit\x10\x03\x12\x12\n\x0e\x61\x64\x64\x42reachWatch\x10\x04\x12\x11\n\raddCompliance\x10\x05\x12\x0b\n\x07\x61\x64\x64\x43hat\x10\x06\x12\n\n\x06\x61\x64\x64PAM\x10\x07\x12\x14\n\x10\x61\x64\x64SilverSupport\x10\x08\x12\x16\n\x12\x61\x64\x64PlatinumSupport\x10\t\x12\x0b\n\x07\x61\x64\x64KEPM\x10\n*\xe0\x01\n\x0eIdentifierType\x12\x1b\n\x17UNKNOWN_IDENTIFIER_TYPE\x10\x00\x12\n\n\x06IOS_ID\x10\x01\x12\x1a\n\x16\x41NDROID_GOOGLE_PLAY_ID\x10\x02\x12\x16\n\x12\x41NDROID_APP_SET_ID\x10\x03\x12\x0e\n\nANDROID_ID\x10\x04\x12\x19\n\x15\x41MAZON_ADVERTISING_ID\x10\x05\x12\x17\n\x13OPEN_ADVERTISING_ID\x10\x06\x12\x16\n\x12SINGULAR_DEVICE_ID\x10\x07\x12\x15\n\x11\x43LIENT_DEFINED_ID\x10\x08\x42\x1e\n\x18\x63om.keepersecurity.protoB\x02\x42Ib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x08\x42I.proto\x12\x02\x42I\x1a\x1cgoogle/protobuf/struct.proto\"f\n\x1bValidateSessionTokenRequest\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12\x1c\n\x14returnMcEnterpiseIds\x18\x02 \x01(\x08\x12\n\n\x02ip\x18\x03 \x01(\t\"\xda\x02\n\x1cValidateSessionTokenResponse\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\x05\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x37\n\x06status\x18\x04 \x01(\x0e\x32\'.BI.ValidateSessionTokenResponse.Status\x12\x15\n\rstatusMessage\x18\x05 \x01(\t\x12\x17\n\x0fmcEnterpriseIds\x18\x06 \x03(\x05\x12\x18\n\x10hasMSPPermission\x18\x07 \x01(\x08\x12\x1e\n\x16\x64\x65letedMcEnterpriseIds\x18\x08 \x03(\x05\"[\n\x06Status\x12\t\n\x05VALID\x10\x00\x12\r\n\tNOT_VALID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x12\x0e\n\nIP_BLOCKED\x10\x03\x12\x1a\n\x16INVALID_CLIENT_VERSION\x10\x04\"\x1b\n\x19SubscriptionStatusRequest\"\x9b\x04\n\x1aSubscriptionStatusResponse\x12$\n\x0b\x61utoRenewal\x18\x01 \x01(\x0b\x32\x0f.BI.AutoRenewal\x12/\n\x14\x63urrentPaymentMethod\x18\x02 \x01(\x0b\x32\x11.BI.PaymentMethod\x12\x14\n\x0c\x63heckoutLink\x18\x03 \x01(\t\x12\x19\n\x11licenseCreateDate\x18\x04 \x01(\x03\x12\x15\n\risDistributor\x18\x05 \x01(\x08\x12\x13\n\x0bisLegacyMsp\x18\x06 \x01(\x08\x12&\n\x0clicenseStats\x18\x08 \x03(\x0b\x32\x10.BI.LicenseStats\x12\x35\n\x0egradientStatus\x18\t \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x17\n\x0fhideTrialBanner\x18\n \x01(\x08\x12\x1c\n\x14gradientLastSyncDate\x18\x0b \x01(\t\x12\x1c\n\x14gradientNextSyncDate\x18\x0c \x01(\t\x12 \n\x18isGradientMappingPending\x18\r \x01(\x08\x12\x1b\n\x03nhi\x18\x0e \x01(\x0b\x32\x0e.BI.NhiBilling\x12\x1c\n\x14\x66reeKsmApiCallsCount\x18\x0f \x01(\x05\x12\x1b\n\x03ksm\x18\x10 \x01(\x0b\x32\x0e.BI.KsmBilling\x12\x1b\n\x03\x65pm\x18\x11 \x01(\x0b\x32\x0e.BI.EpmBilling\"\x95\x01\n\nKsmBilling\x12\x1d\n\x15\x62illingStartTimestamp\x18\x01 \x01(\x03\x12\x1b\n\x13\x62illingEndTimestamp\x18\x02 \x01(\x03\x12\x15\n\rcurrentTierId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseBlocks\x18\x04 \x01(\x05\x12\x1a\n\x12\x63urrentTierCeiling\x18\x05 \x01(\x05\"\x95\x01\n\nEpmBilling\x12\x1d\n\x15\x62illingStartTimestamp\x18\x01 \x01(\x03\x12\x1b\n\x13\x62illingEndTimestamp\x18\x02 \x01(\x03\x12\x15\n\rcurrentTierId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseBlocks\x18\x04 \x01(\x05\x12\x1a\n\x12\x63urrentTierCeiling\x18\x05 \x01(\x03\"\xc3\x01\n\nNhiBilling\x12\x1d\n\x15\x62illingStartTimestamp\x18\x01 \x01(\x03\x12\x1b\n\x13\x62illingEndTimestamp\x18\x02 \x01(\x03\x12\x15\n\rcurrentTierId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseBlocks\x18\x04 \x01(\x05\x12\x1a\n\x12\x63urrentTierCeiling\x18\x05 \x01(\x05\x12,\n\x0e\x62illingPeriods\x18\x06 \x03(\x0b\x32\x14.BI.NhiBillingPeriod\"@\n\x10NhiBillingPeriod\x12\x16\n\x0estartTimestamp\x18\x01 \x01(\x03\x12\x14\n\x0c\x65ndTimestamp\x18\x02 \x01(\x03\"\x97\x02\n\x0cLicenseStats\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.BI.LicenseStats.Type\x12\x11\n\tavailable\x18\x02 \x01(\x05\x12\x0c\n\x04used\x18\x03 \x01(\x05\"\xc0\x01\n\x04Type\x12\x18\n\x14LICENSE_STAT_UNKNOWN\x10\x00\x12\x0c\n\x08MSP_BASE\x10\x01\x12\x0f\n\x0bMC_BUSINESS\x10\x02\x12\x14\n\x10MC_BUSINESS_PLUS\x10\x03\x12\x11\n\rMC_ENTERPRISE\x10\x04\x12\x16\n\x12MC_ENTERPRISE_PLUS\x10\x05\x12\x18\n\x14\x42\x32\x42_BUSINESS_STARTER\x10\x06\x12\x10\n\x0c\x42\x32\x42_BUSINESS\x10\x07\x12\x12\n\x0e\x42\x32\x42_ENTERPRISE\x10\x08\"@\n\x0b\x41utoRenewal\x12\x0e\n\x06nextOn\x18\x01 \x01(\x03\x12\x10\n\x08\x64\x61ysLeft\x18\x02 \x01(\x05\x12\x0f\n\x07isTrial\x18\x03 \x01(\x08\"\x84\x04\n\rPaymentMethod\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.BI.PaymentMethod.Type\x12$\n\x04\x63\x61rd\x18\x02 \x01(\x0b\x32\x16.BI.PaymentMethod.Card\x12$\n\x04sepa\x18\x03 \x01(\x0b\x32\x16.BI.PaymentMethod.Sepa\x12(\n\x06paypal\x18\x04 \x01(\x0b\x32\x18.BI.PaymentMethod.Paypal\x12\x15\n\rfailedBilling\x18\x05 \x01(\x08\x12(\n\x06vendor\x18\x06 \x01(\x0b\x32\x18.BI.PaymentMethod.Vendor\x12\x36\n\rpurchaseOrder\x18\x07 \x01(\x0b\x32\x1f.BI.PaymentMethod.PurchaseOrder\x1a$\n\x04\x43\x61rd\x12\r\n\x05last4\x18\x01 \x01(\t\x12\r\n\x05\x62rand\x18\x02 \x01(\t\x1a&\n\x04Sepa\x12\r\n\x05last4\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x1a\x08\n\x06Paypal\x1a\x16\n\x06Vendor\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x1d\n\rPurchaseOrder\x12\x0c\n\x04name\x18\x01 \x01(\t\"O\n\x04Type\x12\x08\n\x04\x43\x41RD\x10\x00\x12\x08\n\x04SEPA\x10\x01\x12\n\n\x06PAYPAL\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\n\n\x06VENDOR\x10\x04\x12\x11\n\rPURCHASEORDER\x10\x05\"\x1f\n\x1dSubscriptionMspPricingRequest\"\\\n\x1eSubscriptionMspPricingResponse\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\"\x1e\n\x1cSubscriptionMcPricingRequest\"|\n\x1dSubscriptionMcPricingResponse\x12\x1f\n\tbasePlans\x18\x01 \x03(\x0b\x32\x0c.BI.BasePlan\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\".\n\x08\x42\x61sePlan\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"C\n\x05\x41\x64\x64on\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\x12\x16\n\x0e\x61mountConsumed\x18\x03 \x01(\x03\".\n\x08\x46ilePlan\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"\x9a\x02\n\x04\x43ost\x12\x0e\n\x06\x61mount\x18\x03 \x01(\x01\x12%\n\tamountPer\x18\x04 \x01(\x0e\x32\x12.BI.Cost.AmountPer\x12\x1e\n\x08\x63urrency\x18\x05 \x01(\x0e\x32\x0c.BI.Currency\x12\x14\n\x0c\x63ontactSales\x18\x06 \x01(\x08\"\xa4\x01\n\tAmountPer\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x0e\n\nUSER_MONTH\x10\x02\x12\x17\n\x13USER_CONSUMED_MONTH\x10\x03\x12\x12\n\x0e\x45NDPOINT_MONTH\x10\x04\x12\r\n\tUSER_YEAR\x10\x05\x12\x16\n\x12USER_CONSUMED_YEAR\x10\x06\x12\x08\n\x04YEAR\x10\x07\x12\x11\n\rENDPOINT_YEAR\x10\x08\"\\\n\x14InvoiceSearchRequest\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x17\n\x0fstartingAfterId\x18\x02 \x01(\x05\x12\x1d\n\x15\x61llInvoicesUnfiltered\x18\x03 \x01(\x08\"6\n\x15InvoiceSearchResponse\x12\x1d\n\x08invoices\x18\x01 \x03(\x0b\x32\x0b.BI.Invoice\"\xbe\x02\n\x07Invoice\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x13\n\x0binvoiceDate\x18\x03 \x01(\x03\x12\x14\n\x0clicenseCount\x18\x04 \x01(\x05\x12#\n\ttotalCost\x18\x05 \x01(\x0b\x32\x10.BI.Invoice.Cost\x12%\n\x0binvoiceType\x18\x06 \x01(\x0e\x32\x10.BI.Invoice.Type\x1a\x36\n\x04\x43ost\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x1e\n\x08\x63urrency\x18\x02 \x01(\x0e\x32\x0c.BI.Currency\"a\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03NEW\x10\x01\x12\x0b\n\x07RENEWAL\x10\x02\x12\x0b\n\x07UPGRADE\x10\x03\x12\x0b\n\x07RESTORE\x10\x04\x12\x0f\n\x0b\x41SSOCIATION\x10\x05\x12\x0b\n\x07OVERAGE\x10\x06\"\x1a\n\x18VaultInvoicesListRequest\"?\n\x19VaultInvoicesListResponse\x12\"\n\x08invoices\x18\x01 \x03(\x0b\x32\x10.BI.VaultInvoice\"\x8f\x01\n\x0cVaultInvoice\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61teCreated\x18\x03 \x01(\x03\x12\x1f\n\x05total\x18\x04 \x01(\x0b\x32\x10.BI.Invoice.Cost\x12&\n\x0cpurchaseType\x18\x05 \x01(\x0e\x32\x10.BI.Invoice.Type\"/\n\x16InvoiceDownloadRequest\x12\x15\n\rinvoiceNumber\x18\x01 \x01(\t\"9\n\x17InvoiceDownloadResponse\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\"8\n\x1fVaultInvoiceDownloadLinkRequest\x12\x15\n\rinvoiceNumber\x18\x01 \x01(\t\"B\n VaultInvoiceDownloadLinkResponse\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\"<\n\x1dReportingDailySnapshotRequest\x12\r\n\x05month\x18\x01 \x01(\x05\x12\x0c\n\x04year\x18\x02 \x01(\x05\"v\n\x1eReportingDailySnapshotResponse\x12#\n\x07records\x18\x01 \x03(\x0b\x32\x12.BI.SnapshotRecord\x12/\n\rmcEnterprises\x18\x02 \x03(\x0b\x32\x18.BI.SnapshotMcEnterprise\"\xd7\x01\n\x0eSnapshotRecord\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x03\x12\x16\n\x0emcEnterpriseId\x18\x02 \x01(\x05\x12\x17\n\x0fmaxLicenseCount\x18\x04 \x01(\x05\x12\x19\n\x11maxFilePlanTypeId\x18\x05 \x01(\x05\x12\x15\n\rmaxBasePlanId\x18\x06 \x01(\x05\x12(\n\x06\x61\x64\x64ons\x18\x07 \x03(\x0b\x32\x18.BI.SnapshotRecord.Addon\x1a*\n\x05\x41\x64\x64on\x12\x12\n\nmaxAddonId\x18\x01 \x01(\x05\x12\r\n\x05units\x18\x02 \x01(\x03\"0\n\x14SnapshotMcEnterprise\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x16\n\x14MappingAddonsRequest\"\\\n\x15MappingAddonsResponse\x12\x1f\n\x06\x61\x64\x64ons\x18\x01 \x03(\x0b\x32\x0f.BI.MappingItem\x12\"\n\tfilePlans\x18\x02 \x03(\x0b\x32\x0f.BI.MappingItem\"\'\n\x0bMappingItem\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"1\n\x1aGradientValidateKeyRequest\x12\x13\n\x0bgradientKey\x18\x01 \x01(\t\"?\n\x1bGradientValidateKeyResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"D\n\x13GradientSaveRequest\x12\x13\n\x0bgradientKey\x18\x01 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"g\n\x14GradientSaveResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"1\n\x15GradientRemoveRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\":\n\x16GradientRemoveResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"/\n\x13GradientSyncRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\"g\n\x14GradientSyncResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12-\n\x06status\x18\x02 \x01(\x0e\x32\x1d.BI.GradientIntegrationStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"N\n\'NetPromoterScoreSurveySubmissionRequest\x12\x14\n\x0csurvey_score\x18\x01 \x01(\x05\x12\r\n\x05notes\x18\x02 \x01(\t\"*\n(NetPromoterScoreSurveySubmissionResponse\"&\n$NetPromoterScorePopupScheduleRequest\";\n%NetPromoterScorePopupScheduleResponse\x12\x12\n\nshow_popup\x18\x01 \x01(\x08\"\'\n%NetPromoterScorePopupDismissalRequest\"(\n&NetPromoterScorePopupDismissalResponse\"-\n\x11KCMLicenseRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\"%\n\x12KCMLicenseResponse\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x84\x01\n\x0c\x45ventRequest\x12 \n\teventType\x18\x01 \x01(\x0e\x32\r.BI.EventType\x12\x12\n\neventValue\x18\x02 \x01(\t\x12\x11\n\teventTime\x18\x03 \x01(\x03\x12+\n\nattributes\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"0\n\rEventsRequest\x12\x1f\n\x05\x65vent\x18\x01 \x03(\x0b\x32\x10.BI.EventRequest\".\n\rEventResponse\x12\r\n\x05index\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x08\"5\n\x0e\x45ventsResponse\x12#\n\x08response\x18\x01 \x03(\x0b\x32\x11.BI.EventResponse\"\xb5\x02\n\x16\x43ustomerCaptureRequest\x12\x0f\n\x07pageUrl\x18\x01 \x01(\t\x12\x0c\n\x04tree\x18\x02 \x01(\t\x12\x0c\n\x04hash\x18\x03 \x01(\t\x12\r\n\x05image\x18\x04 \x01(\t\x12\x14\n\x0cpageLoadTime\x18\x05 \x01(\t\x12\r\n\x05keyId\x18\x06 \x01(\t\x12\x0c\n\x04test\x18\x07 \x01(\x08\x12\x11\n\tissueType\x18\x08 \x01(\t\x12\r\n\x05notes\x18\t \x01(\t\x12\x1d\n\x10\x65xtensionVersion\x18\n \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x61iAutofillStatus\x18\x0b \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08mlLabels\x18\x0c \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_extensionVersionB\x13\n\x11_aiAutofillStatusB\x0b\n\t_mlLabels\"\x19\n\x17\x43ustomerCaptureResponse\"|\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x06\x65xtras\x18\x03 \x03(\x0b\x32\x15.BI.Error.ExtrasEntry\x1a-\n\x0b\x45xtrasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x96\x01\n\rQuotePurchase\x12\x12\n\nquoteTotal\x18\x01 \x01(\x01\x12\x13\n\x0bincludedTax\x18\x02 \x01(\x08\x12\x1b\n\x13includedOtherAddons\x18\x03 \x01(\x08\x12\x11\n\ttaxAmount\x18\x04 \x01(\x01\x12\x10\n\x08taxLabel\x18\x05 \x01(\t\x12\x1a\n\x12purchaseIdentifier\x18\x06 \x01(\t\"k\n\x0fPurchaseOptions\x12\x16\n\tinConsole\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x10\x65xternalCheckout\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_inConsoleB\x13\n\x11_externalCheckout\"\xe5\x06\n\x14\x41\x64\x64onPurchaseOptions\x12)\n\x07storage\x18\x01 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x00\x88\x01\x01\x12\'\n\x05\x61udit\x18\x02 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x01\x88\x01\x01\x12-\n\x0b\x62reachwatch\x18\x03 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x02\x88\x01\x01\x12&\n\x04\x63hat\x18\x04 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x03\x88\x01\x01\x12,\n\ncompliance\x18\x05 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x04\x88\x01\x01\x12<\n\x1aprofessionalServicesSilver\x18\x06 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x05\x88\x01\x01\x12>\n\x1cprofessionalServicesPlatinum\x18\x07 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x06\x88\x01\x01\x12%\n\x03pam\x18\x08 \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x07\x88\x01\x01\x12%\n\x03\x65pm\x18\t \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x08\x88\x01\x01\x12\x30\n\x0esecretsManager\x18\n \x01(\x0b\x32\x13.BI.PurchaseOptionsH\t\x88\x01\x01\x12\x33\n\x11\x63onnectionManager\x18\x0b \x01(\x0b\x32\x13.BI.PurchaseOptionsH\n\x88\x01\x01\x12\x38\n\x16remoteBrowserIsolation\x18\x0c \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x0b\x88\x01\x01\x12)\n\x07nhiTier\x18\r \x01(\x0b\x32\x13.BI.PurchaseOptionsH\x0c\x88\x01\x01\x42\n\n\x08_storageB\x08\n\x06_auditB\x0e\n\x0c_breachwatchB\x07\n\x05_chatB\r\n\x0b_complianceB\x1d\n\x1b_professionalServicesSilverB\x1f\n\x1d_professionalServicesPlatinumB\x06\n\x04_pamB\x06\n\x04_epmB\x11\n\x0f_secretsManagerB\x14\n\x12_connectionManagerB\x19\n\x17_remoteBrowserIsolationB\n\n\x08_nhiTier\"\x8f\x01\n\x18\x41vailablePurchaseOptions\x12%\n\x08\x62\x61sePlan\x18\x01 \x01(\x0b\x32\x13.BI.PurchaseOptions\x12\"\n\x05users\x18\x02 \x01(\x0b\x32\x13.BI.PurchaseOptions\x12(\n\x06\x61\x64\x64ons\x18\x03 \x01(\x0b\x32\x18.BI.AddonPurchaseOptions\"\x1d\n\x1bUpgradeLicenseStatusRequest\"\x91\x01\n\x1cUpgradeLicenseStatusResponse\x12 \n\x18\x61llowPurchaseFromConsole\x18\x01 \x01(\x08\x12\x35\n\x0fpurchaseOptions\x18\x02 \x01(\x0b\x32\x1c.BI.AvailablePurchaseOptions\x12\x18\n\x05\x65rror\x18\x03 \x01(\x0b\x32\t.BI.Error\"r\n\"UpgradeLicenseQuotePurchaseRequest\x12,\n\x0bproductType\x18\x01 \x01(\x0e\x32\x17.BI.PurchaseProductType\x12\x10\n\x08quantity\x18\x02 \x01(\x05\x12\x0c\n\x04tier\x18\x03 \x01(\x05\"\x93\x01\n#UpgradeLicenseQuotePurchaseResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12(\n\rquotePurchase\x18\x02 \x01(\x0b\x32\x11.BI.QuotePurchase\x12\x17\n\x0fviewSummaryLink\x18\x03 \x01(\t\x12\x18\n\x05\x65rror\x18\x04 \x01(\x0b\x32\t.BI.Error\"\x9f\x01\n%UpgradeLicenseCompletePurchaseRequest\x12,\n\x0bproductType\x18\x01 \x01(\x0e\x32\x17.BI.PurchaseProductType\x12\x10\n\x08quantity\x18\x02 \x01(\x05\x12(\n\rquotePurchase\x18\x03 \x01(\x0b\x32\x11.BI.QuotePurchase\x12\x0c\n\x04tier\x18\x04 \x01(\x05\"\x94\x01\n&UpgradeLicenseCompletePurchaseResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x15\n\rinvoiceNumber\x18\x02 \x01(\t\x12\x18\n\x05\x65rror\x18\x03 \x01(\x0b\x32\t.BI.Error\x12(\n\rquotePurchase\x18\x04 \x01(\x0b\x32\x11.BI.QuotePurchase\"\xd5\x01\n\x12\x45nterpriseBasePlan\x12I\n\x0f\x62\x61seplanVersion\x18\x01 \x01(\x0e\x32\x30.BI.EnterpriseBasePlan.EnterpriseBasePlanVersion\x12\x16\n\x04\x63ost\x18\x02 \x01(\x0b\x32\x08.BI.Cost\"\\\n\x19\x45nterpriseBasePlanVersion\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10\x42USINESS_STARTER\x10\x01\x12\x0c\n\x08\x42USINESS\x10\x02\x12\x0e\n\nENTERPRISE\x10\x03\"&\n$SubscriptionEnterprisePricingRequest\"n\n\x0bNhiTierPlan\x12\x0e\n\x06tierId\x18\x01 \x01(\x05\x12\x12\n\nnhiCeiling\x18\x02 \x01(\x05\x12\x16\n\x04\x63ost\x18\x03 \x01(\x0b\x32\x08.BI.Cost\x12\x11\n\tproductId\x18\x04 \x01(\x05\x12\x10\n\x08nhiFloor\x18\x05 \x01(\x05\"\xb5\x01\n%SubscriptionEnterprisePricingResponse\x12)\n\tbasePlans\x18\x01 \x03(\x0b\x32\x16.BI.EnterpriseBasePlan\x12\x19\n\x06\x61\x64\x64ons\x18\x02 \x03(\x0b\x32\t.BI.Addon\x12\x1f\n\tfilePlans\x18\x03 \x03(\x0b\x32\x0c.BI.FilePlan\x12%\n\x0cnhiTierPlans\x18\x04 \x03(\x0b\x32\x0f.BI.NhiTierPlan\"J\n\x18SingularDeviceIdentifier\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x06idType\x18\x02 \x01(\x0e\x32\x12.BI.IdentifierType\"\xac\x01\n\x12SingularSharedData\x12\x10\n\x08platform\x18\x01 \x01(\t\x12\x11\n\tosVersion\x18\x02 \x01(\t\x12\x0c\n\x04make\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x0e\n\x06locale\x18\x05 \x01(\t\x12\r\n\x05\x62uild\x18\x06 \x01(\t\x12\x15\n\rappIdentifier\x18\x07 \x01(\t\x12\x1e\n\x16\x61ttAuthorizationStatus\x18\x08 \x01(\x05\"\x8b\x03\n\x16SingularSessionRequest\x12\x37\n\x11\x64\x65viceIdentifiers\x18\x01 \x03(\x0b\x32\x1c.BI.SingularDeviceIdentifier\x12*\n\nsharedData\x18\x02 \x01(\x0b\x32\x16.BI.SingularSharedData\x12\x1a\n\x12\x61pplicationVersion\x18\x03 \x01(\t\x12\x0f\n\x07install\x18\x04 \x01(\x08\x12\x13\n\x0binstallTime\x18\x05 \x01(\x03\x12\x12\n\nupdateTime\x18\x06 \x01(\x03\x12\x15\n\rinstallSource\x18\x07 \x01(\t\x12\x16\n\x0einstallReceipt\x18\x08 \x01(\t\x12\x0f\n\x07openuri\x18\t \x01(\t\x12\x12\n\nddlEnabled\x18\n \x01(\x08\x12#\n\x1bsingularLinkResolveRequired\x18\x0b \x01(\x08\x12\x12\n\ninstallRef\x18\x0c \x01(\t\x12\x0f\n\x07metaRef\x18\r \x01(\t\x12\x18\n\x10\x61ttributionToken\x18\x0e \x01(\t\"\x8e\x01\n\x14SingularEventRequest\x12\x37\n\x11\x64\x65viceIdentifiers\x18\x01 \x03(\x0b\x32\x1c.BI.SingularDeviceIdentifier\x12*\n\nsharedData\x18\x02 \x01(\x0b\x32\x16.BI.SingularSharedData\x12\x11\n\teventName\x18\x03 \x01(\t\"-\n\x15\x41\x63tivePamCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\"*\n\x16\x41\x63tivePamCountResponse\x12\x10\n\x08pamCount\x18\x01 \x01(\x05\"P\n\x14NhiEnterpriseRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x11\n\tstartTime\x18\x02 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x03 \x01(\x03\"\x89\x01\n\x11NhiMetricsRequest\x12\x19\n\renterpriseIds\x18\x01 \x03(\x05\x42\x02\x18\x01\x12\x15\n\tstartTime\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x13\n\x07\x65ndTime\x18\x03 \x01(\x03\x42\x02\x18\x01\x12-\n\x0b\x65nterprises\x18\x04 \x03(\x0b\x32\x18.BI.NhiEnterpriseRequest*M\n\x08\x43urrency\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03USD\x10\x01\x12\x07\n\x03GBP\x10\x02\x12\x07\n\x03JPY\x10\x03\x12\x07\n\x03\x45UR\x10\x04\x12\x07\n\x03\x41UD\x10\x05\x12\x07\n\x03\x43\x41\x44\x10\x06*S\n\x19GradientIntegrationStatus\x12\x10\n\x0cNOTCONNECTED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\r\n\tCONNECTED\x10\x02\x12\x08\n\x04NONE\x10\x03*\xdf\x01\n\tEventType\x12\x1f\n\x1bUNKNOWN_TRACKING_EVENT_TYPE\x10\x00\x12\x1c\n\x18TRACKING_POPUP_DISPLAYED\x10\x01\x12\x1b\n\x17TRACKING_POPUP_ACCEPTED\x10\x02\x12\x1c\n\x18TRACKING_POPUP_DISMISSED\x10\x03\x12\x17\n\x13TRACKING_POPUP_PAID\x10\x04\x12\x19\n\x15TRACKING_PUSH_CLICKED\x10\x05\x12\x12\n\x0e\x43ONSOLE_ACTION\x10\x06\x12\x10\n\x0cVAULT_ACTION\x10\x07*\xe1\x01\n\x13PurchaseProductType\x12\x17\n\x13upgradeToEnterprise\x10\x00\x12\x0c\n\x08\x61\x64\x64Users\x10\x01\x12\x0e\n\naddStorage\x10\x02\x12\x0c\n\x08\x61\x64\x64\x41udit\x10\x03\x12\x12\n\x0e\x61\x64\x64\x42reachWatch\x10\x04\x12\x11\n\raddCompliance\x10\x05\x12\x0b\n\x07\x61\x64\x64\x43hat\x10\x06\x12\n\n\x06\x61\x64\x64PAM\x10\x07\x12\x14\n\x10\x61\x64\x64SilverSupport\x10\x08\x12\x16\n\x12\x61\x64\x64PlatinumSupport\x10\t\x12\x0b\n\x07\x61\x64\x64KEPM\x10\n\x12\n\n\x06\x61\x64\x64Nhi\x10\x0b*\xe0\x01\n\x0eIdentifierType\x12\x1b\n\x17UNKNOWN_IDENTIFIER_TYPE\x10\x00\x12\n\n\x06IOS_ID\x10\x01\x12\x1a\n\x16\x41NDROID_GOOGLE_PLAY_ID\x10\x02\x12\x16\n\x12\x41NDROID_APP_SET_ID\x10\x03\x12\x0e\n\nANDROID_ID\x10\x04\x12\x19\n\x15\x41MAZON_ADVERTISING_ID\x10\x05\x12\x17\n\x13OPEN_ADVERTISING_ID\x10\x06\x12\x16\n\x12SINGULAR_DEVICE_ID\x10\x07\x12\x15\n\x11\x43LIENT_DEFINED_ID\x10\x08\x42\x1e\n\x18\x63om.keepersecurity.protoB\x02\x42Ib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -41,16 +41,16 @@ _globals['_NHIMETRICSREQUEST'].fields_by_name['startTime']._serialized_options = b'\030\001' _globals['_NHIMETRICSREQUEST'].fields_by_name['endTime']._loaded_options = None _globals['_NHIMETRICSREQUEST'].fields_by_name['endTime']._serialized_options = b'\030\001' - _globals['_CURRENCY']._serialized_start=9351 - _globals['_CURRENCY']._serialized_end=9428 - _globals['_GRADIENTINTEGRATIONSTATUS']._serialized_start=9430 - _globals['_GRADIENTINTEGRATIONSTATUS']._serialized_end=9513 - _globals['_EVENTTYPE']._serialized_start=9516 - _globals['_EVENTTYPE']._serialized_end=9739 - _globals['_PURCHASEPRODUCTTYPE']._serialized_start=9742 - _globals['_PURCHASEPRODUCTTYPE']._serialized_end=9955 - _globals['_IDENTIFIERTYPE']._serialized_start=9958 - _globals['_IDENTIFIERTYPE']._serialized_end=10182 + _globals['_CURRENCY']._serialized_start=10193 + _globals['_CURRENCY']._serialized_end=10270 + _globals['_GRADIENTINTEGRATIONSTATUS']._serialized_start=10272 + _globals['_GRADIENTINTEGRATIONSTATUS']._serialized_end=10355 + _globals['_EVENTTYPE']._serialized_start=10358 + _globals['_EVENTTYPE']._serialized_end=10581 + _globals['_PURCHASEPRODUCTTYPE']._serialized_start=10584 + _globals['_PURCHASEPRODUCTTYPE']._serialized_end=10809 + _globals['_IDENTIFIERTYPE']._serialized_start=10812 + _globals['_IDENTIFIERTYPE']._serialized_end=11036 _globals['_VALIDATESESSIONTOKENREQUEST']._serialized_start=46 _globals['_VALIDATESESSIONTOKENREQUEST']._serialized_end=148 _globals['_VALIDATESESSIONTOKENRESPONSE']._serialized_start=151 @@ -60,177 +60,185 @@ _globals['_SUBSCRIPTIONSTATUSREQUEST']._serialized_start=499 _globals['_SUBSCRIPTIONSTATUSREQUEST']._serialized_end=526 _globals['_SUBSCRIPTIONSTATUSRESPONSE']._serialized_start=529 - _globals['_SUBSCRIPTIONSTATUSRESPONSE']._serialized_end=1010 - _globals['_NHIBILLING']._serialized_start=1013 - _globals['_NHIBILLING']._serialized_end=1162 - _globals['_LICENSESTATS']._serialized_start=1165 - _globals['_LICENSESTATS']._serialized_end=1444 - _globals['_LICENSESTATS_TYPE']._serialized_start=1252 - _globals['_LICENSESTATS_TYPE']._serialized_end=1444 - _globals['_AUTORENEWAL']._serialized_start=1446 - _globals['_AUTORENEWAL']._serialized_end=1510 - _globals['_PAYMENTMETHOD']._serialized_start=1513 - _globals['_PAYMENTMETHOD']._serialized_end=2029 - _globals['_PAYMENTMETHOD_CARD']._serialized_start=1807 - _globals['_PAYMENTMETHOD_CARD']._serialized_end=1843 - _globals['_PAYMENTMETHOD_SEPA']._serialized_start=1845 - _globals['_PAYMENTMETHOD_SEPA']._serialized_end=1883 - _globals['_PAYMENTMETHOD_PAYPAL']._serialized_start=1885 - _globals['_PAYMENTMETHOD_PAYPAL']._serialized_end=1893 - _globals['_PAYMENTMETHOD_VENDOR']._serialized_start=1895 - _globals['_PAYMENTMETHOD_VENDOR']._serialized_end=1917 - _globals['_PAYMENTMETHOD_PURCHASEORDER']._serialized_start=1919 - _globals['_PAYMENTMETHOD_PURCHASEORDER']._serialized_end=1948 - _globals['_PAYMENTMETHOD_TYPE']._serialized_start=1950 - _globals['_PAYMENTMETHOD_TYPE']._serialized_end=2029 - _globals['_SUBSCRIPTIONMSPPRICINGREQUEST']._serialized_start=2031 - _globals['_SUBSCRIPTIONMSPPRICINGREQUEST']._serialized_end=2062 - _globals['_SUBSCRIPTIONMSPPRICINGRESPONSE']._serialized_start=2064 - _globals['_SUBSCRIPTIONMSPPRICINGRESPONSE']._serialized_end=2156 - _globals['_SUBSCRIPTIONMCPRICINGREQUEST']._serialized_start=2158 - _globals['_SUBSCRIPTIONMCPRICINGREQUEST']._serialized_end=2188 - _globals['_SUBSCRIPTIONMCPRICINGRESPONSE']._serialized_start=2190 - _globals['_SUBSCRIPTIONMCPRICINGRESPONSE']._serialized_end=2314 - _globals['_BASEPLAN']._serialized_start=2316 - _globals['_BASEPLAN']._serialized_end=2362 - _globals['_ADDON']._serialized_start=2364 - _globals['_ADDON']._serialized_end=2431 - _globals['_FILEPLAN']._serialized_start=2433 - _globals['_FILEPLAN']._serialized_end=2479 - _globals['_COST']._serialized_start=2482 - _globals['_COST']._serialized_end=2742 - _globals['_COST_AMOUNTPER']._serialized_start=2578 - _globals['_COST_AMOUNTPER']._serialized_end=2742 - _globals['_INVOICESEARCHREQUEST']._serialized_start=2744 - _globals['_INVOICESEARCHREQUEST']._serialized_end=2836 - _globals['_INVOICESEARCHRESPONSE']._serialized_start=2838 - _globals['_INVOICESEARCHRESPONSE']._serialized_end=2892 - _globals['_INVOICE']._serialized_start=2895 - _globals['_INVOICE']._serialized_end=3213 - _globals['_INVOICE_COST']._serialized_start=3060 - _globals['_INVOICE_COST']._serialized_end=3114 - _globals['_INVOICE_TYPE']._serialized_start=3116 - _globals['_INVOICE_TYPE']._serialized_end=3213 - _globals['_VAULTINVOICESLISTREQUEST']._serialized_start=3215 - _globals['_VAULTINVOICESLISTREQUEST']._serialized_end=3241 - _globals['_VAULTINVOICESLISTRESPONSE']._serialized_start=3243 - _globals['_VAULTINVOICESLISTRESPONSE']._serialized_end=3306 - _globals['_VAULTINVOICE']._serialized_start=3309 - _globals['_VAULTINVOICE']._serialized_end=3452 - _globals['_INVOICEDOWNLOADREQUEST']._serialized_start=3454 - _globals['_INVOICEDOWNLOADREQUEST']._serialized_end=3501 - _globals['_INVOICEDOWNLOADRESPONSE']._serialized_start=3503 - _globals['_INVOICEDOWNLOADRESPONSE']._serialized_end=3560 - _globals['_VAULTINVOICEDOWNLOADLINKREQUEST']._serialized_start=3562 - _globals['_VAULTINVOICEDOWNLOADLINKREQUEST']._serialized_end=3618 - _globals['_VAULTINVOICEDOWNLOADLINKRESPONSE']._serialized_start=3620 - _globals['_VAULTINVOICEDOWNLOADLINKRESPONSE']._serialized_end=3686 - _globals['_REPORTINGDAILYSNAPSHOTREQUEST']._serialized_start=3688 - _globals['_REPORTINGDAILYSNAPSHOTREQUEST']._serialized_end=3748 - _globals['_REPORTINGDAILYSNAPSHOTRESPONSE']._serialized_start=3750 - _globals['_REPORTINGDAILYSNAPSHOTRESPONSE']._serialized_end=3868 - _globals['_SNAPSHOTRECORD']._serialized_start=3871 - _globals['_SNAPSHOTRECORD']._serialized_end=4086 - _globals['_SNAPSHOTRECORD_ADDON']._serialized_start=4044 - _globals['_SNAPSHOTRECORD_ADDON']._serialized_end=4086 - _globals['_SNAPSHOTMCENTERPRISE']._serialized_start=4088 - _globals['_SNAPSHOTMCENTERPRISE']._serialized_end=4136 - _globals['_MAPPINGADDONSREQUEST']._serialized_start=4138 - _globals['_MAPPINGADDONSREQUEST']._serialized_end=4160 - _globals['_MAPPINGADDONSRESPONSE']._serialized_start=4162 - _globals['_MAPPINGADDONSRESPONSE']._serialized_end=4254 - _globals['_MAPPINGITEM']._serialized_start=4256 - _globals['_MAPPINGITEM']._serialized_end=4295 - _globals['_GRADIENTVALIDATEKEYREQUEST']._serialized_start=4297 - _globals['_GRADIENTVALIDATEKEYREQUEST']._serialized_end=4346 - _globals['_GRADIENTVALIDATEKEYRESPONSE']._serialized_start=4348 - _globals['_GRADIENTVALIDATEKEYRESPONSE']._serialized_end=4411 - _globals['_GRADIENTSAVEREQUEST']._serialized_start=4413 - _globals['_GRADIENTSAVEREQUEST']._serialized_end=4481 - _globals['_GRADIENTSAVERESPONSE']._serialized_start=4483 - _globals['_GRADIENTSAVERESPONSE']._serialized_end=4586 - _globals['_GRADIENTREMOVEREQUEST']._serialized_start=4588 - _globals['_GRADIENTREMOVEREQUEST']._serialized_end=4637 - _globals['_GRADIENTREMOVERESPONSE']._serialized_start=4639 - _globals['_GRADIENTREMOVERESPONSE']._serialized_end=4697 - _globals['_GRADIENTSYNCREQUEST']._serialized_start=4699 - _globals['_GRADIENTSYNCREQUEST']._serialized_end=4746 - _globals['_GRADIENTSYNCRESPONSE']._serialized_start=4748 - _globals['_GRADIENTSYNCRESPONSE']._serialized_end=4851 - _globals['_NETPROMOTERSCORESURVEYSUBMISSIONREQUEST']._serialized_start=4853 - _globals['_NETPROMOTERSCORESURVEYSUBMISSIONREQUEST']._serialized_end=4931 - _globals['_NETPROMOTERSCORESURVEYSUBMISSIONRESPONSE']._serialized_start=4933 - _globals['_NETPROMOTERSCORESURVEYSUBMISSIONRESPONSE']._serialized_end=4975 - _globals['_NETPROMOTERSCOREPOPUPSCHEDULEREQUEST']._serialized_start=4977 - _globals['_NETPROMOTERSCOREPOPUPSCHEDULEREQUEST']._serialized_end=5015 - _globals['_NETPROMOTERSCOREPOPUPSCHEDULERESPONSE']._serialized_start=5017 - _globals['_NETPROMOTERSCOREPOPUPSCHEDULERESPONSE']._serialized_end=5076 - _globals['_NETPROMOTERSCOREPOPUPDISMISSALREQUEST']._serialized_start=5078 - _globals['_NETPROMOTERSCOREPOPUPDISMISSALREQUEST']._serialized_end=5117 - _globals['_NETPROMOTERSCOREPOPUPDISMISSALRESPONSE']._serialized_start=5119 - _globals['_NETPROMOTERSCOREPOPUPDISMISSALRESPONSE']._serialized_end=5159 - _globals['_KCMLICENSEREQUEST']._serialized_start=5161 - _globals['_KCMLICENSEREQUEST']._serialized_end=5206 - _globals['_KCMLICENSERESPONSE']._serialized_start=5208 - _globals['_KCMLICENSERESPONSE']._serialized_end=5245 - _globals['_EVENTREQUEST']._serialized_start=5248 - _globals['_EVENTREQUEST']._serialized_end=5380 - _globals['_EVENTSREQUEST']._serialized_start=5382 - _globals['_EVENTSREQUEST']._serialized_end=5430 - _globals['_EVENTRESPONSE']._serialized_start=5432 - _globals['_EVENTRESPONSE']._serialized_end=5478 - _globals['_EVENTSRESPONSE']._serialized_start=5480 - _globals['_EVENTSRESPONSE']._serialized_end=5533 - _globals['_CUSTOMERCAPTUREREQUEST']._serialized_start=5536 - _globals['_CUSTOMERCAPTUREREQUEST']._serialized_end=5705 - _globals['_CUSTOMERCAPTURERESPONSE']._serialized_start=5707 - _globals['_CUSTOMERCAPTURERESPONSE']._serialized_end=5732 - _globals['_ERROR']._serialized_start=5734 - _globals['_ERROR']._serialized_end=5858 - _globals['_ERROR_EXTRASENTRY']._serialized_start=5813 - _globals['_ERROR_EXTRASENTRY']._serialized_end=5858 - _globals['_QUOTEPURCHASE']._serialized_start=5861 - _globals['_QUOTEPURCHASE']._serialized_end=6011 - _globals['_PURCHASEOPTIONS']._serialized_start=6013 - _globals['_PURCHASEOPTIONS']._serialized_end=6120 - _globals['_ADDONPURCHASEOPTIONS']._serialized_start=6123 - _globals['_ADDONPURCHASEOPTIONS']._serialized_end=6937 - _globals['_AVAILABLEPURCHASEOPTIONS']._serialized_start=6940 - _globals['_AVAILABLEPURCHASEOPTIONS']._serialized_end=7083 - _globals['_UPGRADELICENSESTATUSREQUEST']._serialized_start=7085 - _globals['_UPGRADELICENSESTATUSREQUEST']._serialized_end=7114 - _globals['_UPGRADELICENSESTATUSRESPONSE']._serialized_start=7117 - _globals['_UPGRADELICENSESTATUSRESPONSE']._serialized_end=7262 - _globals['_UPGRADELICENSEQUOTEPURCHASEREQUEST']._serialized_start=7264 - _globals['_UPGRADELICENSEQUOTEPURCHASEREQUEST']._serialized_end=7378 - _globals['_UPGRADELICENSEQUOTEPURCHASERESPONSE']._serialized_start=7381 - _globals['_UPGRADELICENSEQUOTEPURCHASERESPONSE']._serialized_end=7528 - _globals['_UPGRADELICENSECOMPLETEPURCHASEREQUEST']._serialized_start=7531 - _globals['_UPGRADELICENSECOMPLETEPURCHASEREQUEST']._serialized_end=7690 - _globals['_UPGRADELICENSECOMPLETEPURCHASERESPONSE']._serialized_start=7693 - _globals['_UPGRADELICENSECOMPLETEPURCHASERESPONSE']._serialized_end=7841 - _globals['_ENTERPRISEBASEPLAN']._serialized_start=7844 - _globals['_ENTERPRISEBASEPLAN']._serialized_end=8057 - _globals['_ENTERPRISEBASEPLAN_ENTERPRISEBASEPLANVERSION']._serialized_start=7965 - _globals['_ENTERPRISEBASEPLAN_ENTERPRISEBASEPLANVERSION']._serialized_end=8057 - _globals['_SUBSCRIPTIONENTERPRISEPRICINGREQUEST']._serialized_start=8059 - _globals['_SUBSCRIPTIONENTERPRISEPRICINGREQUEST']._serialized_end=8097 - _globals['_SUBSCRIPTIONENTERPRISEPRICINGRESPONSE']._serialized_start=8100 - _globals['_SUBSCRIPTIONENTERPRISEPRICINGRESPONSE']._serialized_end=8242 - _globals['_SINGULARDEVICEIDENTIFIER']._serialized_start=8244 - _globals['_SINGULARDEVICEIDENTIFIER']._serialized_end=8318 - _globals['_SINGULARSHAREDDATA']._serialized_start=8321 - _globals['_SINGULARSHAREDDATA']._serialized_end=8493 - _globals['_SINGULARSESSIONREQUEST']._serialized_start=8496 - _globals['_SINGULARSESSIONREQUEST']._serialized_end=8891 - _globals['_SINGULAREVENTREQUEST']._serialized_start=8894 - _globals['_SINGULAREVENTREQUEST']._serialized_end=9036 - _globals['_ACTIVEPAMCOUNTREQUEST']._serialized_start=9038 - _globals['_ACTIVEPAMCOUNTREQUEST']._serialized_end=9083 - _globals['_ACTIVEPAMCOUNTRESPONSE']._serialized_start=9085 - _globals['_ACTIVEPAMCOUNTRESPONSE']._serialized_end=9127 - _globals['_NHIENTERPRISEREQUEST']._serialized_start=9129 - _globals['_NHIENTERPRISEREQUEST']._serialized_end=9209 - _globals['_NHIMETRICSREQUEST']._serialized_start=9212 - _globals['_NHIMETRICSREQUEST']._serialized_end=9349 + _globals['_SUBSCRIPTIONSTATUSRESPONSE']._serialized_end=1068 + _globals['_KSMBILLING']._serialized_start=1071 + _globals['_KSMBILLING']._serialized_end=1220 + _globals['_EPMBILLING']._serialized_start=1223 + _globals['_EPMBILLING']._serialized_end=1372 + _globals['_NHIBILLING']._serialized_start=1375 + _globals['_NHIBILLING']._serialized_end=1570 + _globals['_NHIBILLINGPERIOD']._serialized_start=1572 + _globals['_NHIBILLINGPERIOD']._serialized_end=1636 + _globals['_LICENSESTATS']._serialized_start=1639 + _globals['_LICENSESTATS']._serialized_end=1918 + _globals['_LICENSESTATS_TYPE']._serialized_start=1726 + _globals['_LICENSESTATS_TYPE']._serialized_end=1918 + _globals['_AUTORENEWAL']._serialized_start=1920 + _globals['_AUTORENEWAL']._serialized_end=1984 + _globals['_PAYMENTMETHOD']._serialized_start=1987 + _globals['_PAYMENTMETHOD']._serialized_end=2503 + _globals['_PAYMENTMETHOD_CARD']._serialized_start=2281 + _globals['_PAYMENTMETHOD_CARD']._serialized_end=2317 + _globals['_PAYMENTMETHOD_SEPA']._serialized_start=2319 + _globals['_PAYMENTMETHOD_SEPA']._serialized_end=2357 + _globals['_PAYMENTMETHOD_PAYPAL']._serialized_start=2359 + _globals['_PAYMENTMETHOD_PAYPAL']._serialized_end=2367 + _globals['_PAYMENTMETHOD_VENDOR']._serialized_start=2369 + _globals['_PAYMENTMETHOD_VENDOR']._serialized_end=2391 + _globals['_PAYMENTMETHOD_PURCHASEORDER']._serialized_start=2393 + _globals['_PAYMENTMETHOD_PURCHASEORDER']._serialized_end=2422 + _globals['_PAYMENTMETHOD_TYPE']._serialized_start=2424 + _globals['_PAYMENTMETHOD_TYPE']._serialized_end=2503 + _globals['_SUBSCRIPTIONMSPPRICINGREQUEST']._serialized_start=2505 + _globals['_SUBSCRIPTIONMSPPRICINGREQUEST']._serialized_end=2536 + _globals['_SUBSCRIPTIONMSPPRICINGRESPONSE']._serialized_start=2538 + _globals['_SUBSCRIPTIONMSPPRICINGRESPONSE']._serialized_end=2630 + _globals['_SUBSCRIPTIONMCPRICINGREQUEST']._serialized_start=2632 + _globals['_SUBSCRIPTIONMCPRICINGREQUEST']._serialized_end=2662 + _globals['_SUBSCRIPTIONMCPRICINGRESPONSE']._serialized_start=2664 + _globals['_SUBSCRIPTIONMCPRICINGRESPONSE']._serialized_end=2788 + _globals['_BASEPLAN']._serialized_start=2790 + _globals['_BASEPLAN']._serialized_end=2836 + _globals['_ADDON']._serialized_start=2838 + _globals['_ADDON']._serialized_end=2905 + _globals['_FILEPLAN']._serialized_start=2907 + _globals['_FILEPLAN']._serialized_end=2953 + _globals['_COST']._serialized_start=2956 + _globals['_COST']._serialized_end=3238 + _globals['_COST_AMOUNTPER']._serialized_start=3074 + _globals['_COST_AMOUNTPER']._serialized_end=3238 + _globals['_INVOICESEARCHREQUEST']._serialized_start=3240 + _globals['_INVOICESEARCHREQUEST']._serialized_end=3332 + _globals['_INVOICESEARCHRESPONSE']._serialized_start=3334 + _globals['_INVOICESEARCHRESPONSE']._serialized_end=3388 + _globals['_INVOICE']._serialized_start=3391 + _globals['_INVOICE']._serialized_end=3709 + _globals['_INVOICE_COST']._serialized_start=3556 + _globals['_INVOICE_COST']._serialized_end=3610 + _globals['_INVOICE_TYPE']._serialized_start=3612 + _globals['_INVOICE_TYPE']._serialized_end=3709 + _globals['_VAULTINVOICESLISTREQUEST']._serialized_start=3711 + _globals['_VAULTINVOICESLISTREQUEST']._serialized_end=3737 + _globals['_VAULTINVOICESLISTRESPONSE']._serialized_start=3739 + _globals['_VAULTINVOICESLISTRESPONSE']._serialized_end=3802 + _globals['_VAULTINVOICE']._serialized_start=3805 + _globals['_VAULTINVOICE']._serialized_end=3948 + _globals['_INVOICEDOWNLOADREQUEST']._serialized_start=3950 + _globals['_INVOICEDOWNLOADREQUEST']._serialized_end=3997 + _globals['_INVOICEDOWNLOADRESPONSE']._serialized_start=3999 + _globals['_INVOICEDOWNLOADRESPONSE']._serialized_end=4056 + _globals['_VAULTINVOICEDOWNLOADLINKREQUEST']._serialized_start=4058 + _globals['_VAULTINVOICEDOWNLOADLINKREQUEST']._serialized_end=4114 + _globals['_VAULTINVOICEDOWNLOADLINKRESPONSE']._serialized_start=4116 + _globals['_VAULTINVOICEDOWNLOADLINKRESPONSE']._serialized_end=4182 + _globals['_REPORTINGDAILYSNAPSHOTREQUEST']._serialized_start=4184 + _globals['_REPORTINGDAILYSNAPSHOTREQUEST']._serialized_end=4244 + _globals['_REPORTINGDAILYSNAPSHOTRESPONSE']._serialized_start=4246 + _globals['_REPORTINGDAILYSNAPSHOTRESPONSE']._serialized_end=4364 + _globals['_SNAPSHOTRECORD']._serialized_start=4367 + _globals['_SNAPSHOTRECORD']._serialized_end=4582 + _globals['_SNAPSHOTRECORD_ADDON']._serialized_start=4540 + _globals['_SNAPSHOTRECORD_ADDON']._serialized_end=4582 + _globals['_SNAPSHOTMCENTERPRISE']._serialized_start=4584 + _globals['_SNAPSHOTMCENTERPRISE']._serialized_end=4632 + _globals['_MAPPINGADDONSREQUEST']._serialized_start=4634 + _globals['_MAPPINGADDONSREQUEST']._serialized_end=4656 + _globals['_MAPPINGADDONSRESPONSE']._serialized_start=4658 + _globals['_MAPPINGADDONSRESPONSE']._serialized_end=4750 + _globals['_MAPPINGITEM']._serialized_start=4752 + _globals['_MAPPINGITEM']._serialized_end=4791 + _globals['_GRADIENTVALIDATEKEYREQUEST']._serialized_start=4793 + _globals['_GRADIENTVALIDATEKEYREQUEST']._serialized_end=4842 + _globals['_GRADIENTVALIDATEKEYRESPONSE']._serialized_start=4844 + _globals['_GRADIENTVALIDATEKEYRESPONSE']._serialized_end=4907 + _globals['_GRADIENTSAVEREQUEST']._serialized_start=4909 + _globals['_GRADIENTSAVEREQUEST']._serialized_end=4977 + _globals['_GRADIENTSAVERESPONSE']._serialized_start=4979 + _globals['_GRADIENTSAVERESPONSE']._serialized_end=5082 + _globals['_GRADIENTREMOVEREQUEST']._serialized_start=5084 + _globals['_GRADIENTREMOVEREQUEST']._serialized_end=5133 + _globals['_GRADIENTREMOVERESPONSE']._serialized_start=5135 + _globals['_GRADIENTREMOVERESPONSE']._serialized_end=5193 + _globals['_GRADIENTSYNCREQUEST']._serialized_start=5195 + _globals['_GRADIENTSYNCREQUEST']._serialized_end=5242 + _globals['_GRADIENTSYNCRESPONSE']._serialized_start=5244 + _globals['_GRADIENTSYNCRESPONSE']._serialized_end=5347 + _globals['_NETPROMOTERSCORESURVEYSUBMISSIONREQUEST']._serialized_start=5349 + _globals['_NETPROMOTERSCORESURVEYSUBMISSIONREQUEST']._serialized_end=5427 + _globals['_NETPROMOTERSCORESURVEYSUBMISSIONRESPONSE']._serialized_start=5429 + _globals['_NETPROMOTERSCORESURVEYSUBMISSIONRESPONSE']._serialized_end=5471 + _globals['_NETPROMOTERSCOREPOPUPSCHEDULEREQUEST']._serialized_start=5473 + _globals['_NETPROMOTERSCOREPOPUPSCHEDULEREQUEST']._serialized_end=5511 + _globals['_NETPROMOTERSCOREPOPUPSCHEDULERESPONSE']._serialized_start=5513 + _globals['_NETPROMOTERSCOREPOPUPSCHEDULERESPONSE']._serialized_end=5572 + _globals['_NETPROMOTERSCOREPOPUPDISMISSALREQUEST']._serialized_start=5574 + _globals['_NETPROMOTERSCOREPOPUPDISMISSALREQUEST']._serialized_end=5613 + _globals['_NETPROMOTERSCOREPOPUPDISMISSALRESPONSE']._serialized_start=5615 + _globals['_NETPROMOTERSCOREPOPUPDISMISSALRESPONSE']._serialized_end=5655 + _globals['_KCMLICENSEREQUEST']._serialized_start=5657 + _globals['_KCMLICENSEREQUEST']._serialized_end=5702 + _globals['_KCMLICENSERESPONSE']._serialized_start=5704 + _globals['_KCMLICENSERESPONSE']._serialized_end=5741 + _globals['_EVENTREQUEST']._serialized_start=5744 + _globals['_EVENTREQUEST']._serialized_end=5876 + _globals['_EVENTSREQUEST']._serialized_start=5878 + _globals['_EVENTSREQUEST']._serialized_end=5926 + _globals['_EVENTRESPONSE']._serialized_start=5928 + _globals['_EVENTRESPONSE']._serialized_end=5974 + _globals['_EVENTSRESPONSE']._serialized_start=5976 + _globals['_EVENTSRESPONSE']._serialized_end=6029 + _globals['_CUSTOMERCAPTUREREQUEST']._serialized_start=6032 + _globals['_CUSTOMERCAPTUREREQUEST']._serialized_end=6341 + _globals['_CUSTOMERCAPTURERESPONSE']._serialized_start=6343 + _globals['_CUSTOMERCAPTURERESPONSE']._serialized_end=6368 + _globals['_ERROR']._serialized_start=6370 + _globals['_ERROR']._serialized_end=6494 + _globals['_ERROR_EXTRASENTRY']._serialized_start=6449 + _globals['_ERROR_EXTRASENTRY']._serialized_end=6494 + _globals['_QUOTEPURCHASE']._serialized_start=6497 + _globals['_QUOTEPURCHASE']._serialized_end=6647 + _globals['_PURCHASEOPTIONS']._serialized_start=6649 + _globals['_PURCHASEOPTIONS']._serialized_end=6756 + _globals['_ADDONPURCHASEOPTIONS']._serialized_start=6759 + _globals['_ADDONPURCHASEOPTIONS']._serialized_end=7628 + _globals['_AVAILABLEPURCHASEOPTIONS']._serialized_start=7631 + _globals['_AVAILABLEPURCHASEOPTIONS']._serialized_end=7774 + _globals['_UPGRADELICENSESTATUSREQUEST']._serialized_start=7776 + _globals['_UPGRADELICENSESTATUSREQUEST']._serialized_end=7805 + _globals['_UPGRADELICENSESTATUSRESPONSE']._serialized_start=7808 + _globals['_UPGRADELICENSESTATUSRESPONSE']._serialized_end=7953 + _globals['_UPGRADELICENSEQUOTEPURCHASEREQUEST']._serialized_start=7955 + _globals['_UPGRADELICENSEQUOTEPURCHASEREQUEST']._serialized_end=8069 + _globals['_UPGRADELICENSEQUOTEPURCHASERESPONSE']._serialized_start=8072 + _globals['_UPGRADELICENSEQUOTEPURCHASERESPONSE']._serialized_end=8219 + _globals['_UPGRADELICENSECOMPLETEPURCHASEREQUEST']._serialized_start=8222 + _globals['_UPGRADELICENSECOMPLETEPURCHASEREQUEST']._serialized_end=8381 + _globals['_UPGRADELICENSECOMPLETEPURCHASERESPONSE']._serialized_start=8384 + _globals['_UPGRADELICENSECOMPLETEPURCHASERESPONSE']._serialized_end=8532 + _globals['_ENTERPRISEBASEPLAN']._serialized_start=8535 + _globals['_ENTERPRISEBASEPLAN']._serialized_end=8748 + _globals['_ENTERPRISEBASEPLAN_ENTERPRISEBASEPLANVERSION']._serialized_start=8656 + _globals['_ENTERPRISEBASEPLAN_ENTERPRISEBASEPLANVERSION']._serialized_end=8748 + _globals['_SUBSCRIPTIONENTERPRISEPRICINGREQUEST']._serialized_start=8750 + _globals['_SUBSCRIPTIONENTERPRISEPRICINGREQUEST']._serialized_end=8788 + _globals['_NHITIERPLAN']._serialized_start=8790 + _globals['_NHITIERPLAN']._serialized_end=8900 + _globals['_SUBSCRIPTIONENTERPRISEPRICINGRESPONSE']._serialized_start=8903 + _globals['_SUBSCRIPTIONENTERPRISEPRICINGRESPONSE']._serialized_end=9084 + _globals['_SINGULARDEVICEIDENTIFIER']._serialized_start=9086 + _globals['_SINGULARDEVICEIDENTIFIER']._serialized_end=9160 + _globals['_SINGULARSHAREDDATA']._serialized_start=9163 + _globals['_SINGULARSHAREDDATA']._serialized_end=9335 + _globals['_SINGULARSESSIONREQUEST']._serialized_start=9338 + _globals['_SINGULARSESSIONREQUEST']._serialized_end=9733 + _globals['_SINGULAREVENTREQUEST']._serialized_start=9736 + _globals['_SINGULAREVENTREQUEST']._serialized_end=9878 + _globals['_ACTIVEPAMCOUNTREQUEST']._serialized_start=9880 + _globals['_ACTIVEPAMCOUNTREQUEST']._serialized_end=9925 + _globals['_ACTIVEPAMCOUNTRESPONSE']._serialized_start=9927 + _globals['_ACTIVEPAMCOUNTRESPONSE']._serialized_end=9969 + _globals['_NHIENTERPRISEREQUEST']._serialized_start=9971 + _globals['_NHIENTERPRISEREQUEST']._serialized_end=10051 + _globals['_NHIMETRICSREQUEST']._serialized_start=10054 + _globals['_NHIMETRICSREQUEST']._serialized_end=10191 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/BI_pb2.pyi b/keepersdk-package/src/keepersdk/proto/BI_pb2.pyi index d077ba08..571d0907 100644 --- a/keepersdk-package/src/keepersdk/proto/BI_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/BI_pb2.pyi @@ -48,6 +48,7 @@ class PurchaseProductType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): addSilverSupport: _ClassVar[PurchaseProductType] addPlatinumSupport: _ClassVar[PurchaseProductType] addKEPM: _ClassVar[PurchaseProductType] + addNhi: _ClassVar[PurchaseProductType] class IdentifierType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -90,6 +91,7 @@ addPAM: PurchaseProductType addSilverSupport: PurchaseProductType addPlatinumSupport: PurchaseProductType addKEPM: PurchaseProductType +addNhi: PurchaseProductType UNKNOWN_IDENTIFIER_TYPE: IdentifierType IOS_ID: IdentifierType ANDROID_GOOGLE_PLAY_ID: IdentifierType @@ -147,7 +149,7 @@ class SubscriptionStatusRequest(_message.Message): def __init__(self) -> None: ... class SubscriptionStatusResponse(_message.Message): - __slots__ = ("autoRenewal", "currentPaymentMethod", "checkoutLink", "licenseCreateDate", "isDistributor", "isLegacyMsp", "licenseStats", "gradientStatus", "hideTrialBanner", "gradientLastSyncDate", "gradientNextSyncDate", "isGradientMappingPending", "nhi", "freeKsmApiCallsCount") + __slots__ = ("autoRenewal", "currentPaymentMethod", "checkoutLink", "licenseCreateDate", "isDistributor", "isLegacyMsp", "licenseStats", "gradientStatus", "hideTrialBanner", "gradientLastSyncDate", "gradientNextSyncDate", "isGradientMappingPending", "nhi", "freeKsmApiCallsCount", "ksm", "epm") AUTORENEWAL_FIELD_NUMBER: _ClassVar[int] CURRENTPAYMENTMETHOD_FIELD_NUMBER: _ClassVar[int] CHECKOUTLINK_FIELD_NUMBER: _ClassVar[int] @@ -162,6 +164,8 @@ class SubscriptionStatusResponse(_message.Message): ISGRADIENTMAPPINGPENDING_FIELD_NUMBER: _ClassVar[int] NHI_FIELD_NUMBER: _ClassVar[int] FREEKSMAPICALLSCOUNT_FIELD_NUMBER: _ClassVar[int] + KSM_FIELD_NUMBER: _ClassVar[int] + EPM_FIELD_NUMBER: _ClassVar[int] autoRenewal: AutoRenewal currentPaymentMethod: PaymentMethod checkoutLink: str @@ -176,9 +180,25 @@ class SubscriptionStatusResponse(_message.Message): isGradientMappingPending: bool nhi: NhiBilling freeKsmApiCallsCount: int - def __init__(self, autoRenewal: _Optional[_Union[AutoRenewal, _Mapping]] = ..., currentPaymentMethod: _Optional[_Union[PaymentMethod, _Mapping]] = ..., checkoutLink: _Optional[str] = ..., licenseCreateDate: _Optional[int] = ..., isDistributor: bool = ..., isLegacyMsp: bool = ..., licenseStats: _Optional[_Iterable[_Union[LicenseStats, _Mapping]]] = ..., gradientStatus: _Optional[_Union[GradientIntegrationStatus, str]] = ..., hideTrialBanner: bool = ..., gradientLastSyncDate: _Optional[str] = ..., gradientNextSyncDate: _Optional[str] = ..., isGradientMappingPending: bool = ..., nhi: _Optional[_Union[NhiBilling, _Mapping]] = ..., freeKsmApiCallsCount: _Optional[int] = ...) -> None: ... + ksm: KsmBilling + epm: EpmBilling + def __init__(self, autoRenewal: _Optional[_Union[AutoRenewal, _Mapping]] = ..., currentPaymentMethod: _Optional[_Union[PaymentMethod, _Mapping]] = ..., checkoutLink: _Optional[str] = ..., licenseCreateDate: _Optional[int] = ..., isDistributor: bool = ..., isLegacyMsp: bool = ..., licenseStats: _Optional[_Iterable[_Union[LicenseStats, _Mapping]]] = ..., gradientStatus: _Optional[_Union[GradientIntegrationStatus, str]] = ..., hideTrialBanner: bool = ..., gradientLastSyncDate: _Optional[str] = ..., gradientNextSyncDate: _Optional[str] = ..., isGradientMappingPending: bool = ..., nhi: _Optional[_Union[NhiBilling, _Mapping]] = ..., freeKsmApiCallsCount: _Optional[int] = ..., ksm: _Optional[_Union[KsmBilling, _Mapping]] = ..., epm: _Optional[_Union[EpmBilling, _Mapping]] = ...) -> None: ... -class NhiBilling(_message.Message): +class KsmBilling(_message.Message): + __slots__ = ("billingStartTimestamp", "billingEndTimestamp", "currentTierId", "enterpriseBlocks", "currentTierCeiling") + BILLINGSTARTTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + BILLINGENDTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + CURRENTTIERID_FIELD_NUMBER: _ClassVar[int] + ENTERPRISEBLOCKS_FIELD_NUMBER: _ClassVar[int] + CURRENTTIERCEILING_FIELD_NUMBER: _ClassVar[int] + billingStartTimestamp: int + billingEndTimestamp: int + currentTierId: int + enterpriseBlocks: int + currentTierCeiling: int + def __init__(self, billingStartTimestamp: _Optional[int] = ..., billingEndTimestamp: _Optional[int] = ..., currentTierId: _Optional[int] = ..., enterpriseBlocks: _Optional[int] = ..., currentTierCeiling: _Optional[int] = ...) -> None: ... + +class EpmBilling(_message.Message): __slots__ = ("billingStartTimestamp", "billingEndTimestamp", "currentTierId", "enterpriseBlocks", "currentTierCeiling") BILLINGSTARTTIMESTAMP_FIELD_NUMBER: _ClassVar[int] BILLINGENDTIMESTAMP_FIELD_NUMBER: _ClassVar[int] @@ -192,6 +212,30 @@ class NhiBilling(_message.Message): currentTierCeiling: int def __init__(self, billingStartTimestamp: _Optional[int] = ..., billingEndTimestamp: _Optional[int] = ..., currentTierId: _Optional[int] = ..., enterpriseBlocks: _Optional[int] = ..., currentTierCeiling: _Optional[int] = ...) -> None: ... +class NhiBilling(_message.Message): + __slots__ = ("billingStartTimestamp", "billingEndTimestamp", "currentTierId", "enterpriseBlocks", "currentTierCeiling", "billingPeriods") + BILLINGSTARTTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + BILLINGENDTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + CURRENTTIERID_FIELD_NUMBER: _ClassVar[int] + ENTERPRISEBLOCKS_FIELD_NUMBER: _ClassVar[int] + CURRENTTIERCEILING_FIELD_NUMBER: _ClassVar[int] + BILLINGPERIODS_FIELD_NUMBER: _ClassVar[int] + billingStartTimestamp: int + billingEndTimestamp: int + currentTierId: int + enterpriseBlocks: int + currentTierCeiling: int + billingPeriods: _containers.RepeatedCompositeFieldContainer[NhiBillingPeriod] + def __init__(self, billingStartTimestamp: _Optional[int] = ..., billingEndTimestamp: _Optional[int] = ..., currentTierId: _Optional[int] = ..., enterpriseBlocks: _Optional[int] = ..., currentTierCeiling: _Optional[int] = ..., billingPeriods: _Optional[_Iterable[_Union[NhiBillingPeriod, _Mapping]]] = ...) -> None: ... + +class NhiBillingPeriod(_message.Message): + __slots__ = ("startTimestamp", "endTimestamp") + STARTTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ENDTIMESTAMP_FIELD_NUMBER: _ClassVar[int] + startTimestamp: int + endTimestamp: int + def __init__(self, startTimestamp: _Optional[int] = ..., endTimestamp: _Optional[int] = ...) -> None: ... + class LicenseStats(_message.Message): __slots__ = ("type", "available", "used") class Type(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -344,7 +388,7 @@ class FilePlan(_message.Message): def __init__(self, id: _Optional[int] = ..., cost: _Optional[_Union[Cost, _Mapping]] = ...) -> None: ... class Cost(_message.Message): - __slots__ = ("amount", "amountPer", "currency") + __slots__ = ("amount", "amountPer", "currency", "contactSales") class AmountPer(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () UNKNOWN: _ClassVar[Cost.AmountPer] @@ -368,10 +412,12 @@ class Cost(_message.Message): AMOUNT_FIELD_NUMBER: _ClassVar[int] AMOUNTPER_FIELD_NUMBER: _ClassVar[int] CURRENCY_FIELD_NUMBER: _ClassVar[int] + CONTACTSALES_FIELD_NUMBER: _ClassVar[int] amount: float amountPer: Cost.AmountPer currency: Currency - def __init__(self, amount: _Optional[float] = ..., amountPer: _Optional[_Union[Cost.AmountPer, str]] = ..., currency: _Optional[_Union[Currency, str]] = ...) -> None: ... + contactSales: bool + def __init__(self, amount: _Optional[float] = ..., amountPer: _Optional[_Union[Cost.AmountPer, str]] = ..., currency: _Optional[_Union[Currency, str]] = ..., contactSales: bool = ...) -> None: ... class InvoiceSearchRequest(_message.Message): __slots__ = ("size", "startingAfterId", "allInvoicesUnfiltered") @@ -684,7 +730,7 @@ class EventsResponse(_message.Message): def __init__(self, response: _Optional[_Iterable[_Union[EventResponse, _Mapping]]] = ...) -> None: ... class CustomerCaptureRequest(_message.Message): - __slots__ = ("pageUrl", "tree", "hash", "image", "pageLoadTime", "keyId", "test", "issueType", "notes") + __slots__ = ("pageUrl", "tree", "hash", "image", "pageLoadTime", "keyId", "test", "issueType", "notes", "extensionVersion", "aiAutofillStatus", "mlLabels") PAGEURL_FIELD_NUMBER: _ClassVar[int] TREE_FIELD_NUMBER: _ClassVar[int] HASH_FIELD_NUMBER: _ClassVar[int] @@ -694,6 +740,9 @@ class CustomerCaptureRequest(_message.Message): TEST_FIELD_NUMBER: _ClassVar[int] ISSUETYPE_FIELD_NUMBER: _ClassVar[int] NOTES_FIELD_NUMBER: _ClassVar[int] + EXTENSIONVERSION_FIELD_NUMBER: _ClassVar[int] + AIAUTOFILLSTATUS_FIELD_NUMBER: _ClassVar[int] + MLLABELS_FIELD_NUMBER: _ClassVar[int] pageUrl: str tree: str hash: str @@ -703,7 +752,10 @@ class CustomerCaptureRequest(_message.Message): test: bool issueType: str notes: str - def __init__(self, pageUrl: _Optional[str] = ..., tree: _Optional[str] = ..., hash: _Optional[str] = ..., image: _Optional[str] = ..., pageLoadTime: _Optional[str] = ..., keyId: _Optional[str] = ..., test: bool = ..., issueType: _Optional[str] = ..., notes: _Optional[str] = ...) -> None: ... + extensionVersion: str + aiAutofillStatus: str + mlLabels: str + def __init__(self, pageUrl: _Optional[str] = ..., tree: _Optional[str] = ..., hash: _Optional[str] = ..., image: _Optional[str] = ..., pageLoadTime: _Optional[str] = ..., keyId: _Optional[str] = ..., test: bool = ..., issueType: _Optional[str] = ..., notes: _Optional[str] = ..., extensionVersion: _Optional[str] = ..., aiAutofillStatus: _Optional[str] = ..., mlLabels: _Optional[str] = ...) -> None: ... class CustomerCaptureResponse(_message.Message): __slots__ = () @@ -751,7 +803,7 @@ class PurchaseOptions(_message.Message): def __init__(self, inConsole: bool = ..., externalCheckout: bool = ...) -> None: ... class AddonPurchaseOptions(_message.Message): - __slots__ = ("storage", "audit", "breachwatch", "chat", "compliance", "professionalServicesSilver", "professionalServicesPlatinum", "pam", "epm", "secretsManager", "connectionManager", "remoteBrowserIsolation") + __slots__ = ("storage", "audit", "breachwatch", "chat", "compliance", "professionalServicesSilver", "professionalServicesPlatinum", "pam", "epm", "secretsManager", "connectionManager", "remoteBrowserIsolation", "nhiTier") STORAGE_FIELD_NUMBER: _ClassVar[int] AUDIT_FIELD_NUMBER: _ClassVar[int] BREACHWATCH_FIELD_NUMBER: _ClassVar[int] @@ -764,6 +816,7 @@ class AddonPurchaseOptions(_message.Message): SECRETSMANAGER_FIELD_NUMBER: _ClassVar[int] CONNECTIONMANAGER_FIELD_NUMBER: _ClassVar[int] REMOTEBROWSERISOLATION_FIELD_NUMBER: _ClassVar[int] + NHITIER_FIELD_NUMBER: _ClassVar[int] storage: PurchaseOptions audit: PurchaseOptions breachwatch: PurchaseOptions @@ -776,7 +829,8 @@ class AddonPurchaseOptions(_message.Message): secretsManager: PurchaseOptions connectionManager: PurchaseOptions remoteBrowserIsolation: PurchaseOptions - def __init__(self, storage: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., audit: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., breachwatch: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., chat: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., compliance: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., professionalServicesSilver: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., professionalServicesPlatinum: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., pam: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., epm: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., secretsManager: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., connectionManager: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., remoteBrowserIsolation: _Optional[_Union[PurchaseOptions, _Mapping]] = ...) -> None: ... + nhiTier: PurchaseOptions + def __init__(self, storage: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., audit: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., breachwatch: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., chat: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., compliance: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., professionalServicesSilver: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., professionalServicesPlatinum: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., pam: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., epm: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., secretsManager: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., connectionManager: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., remoteBrowserIsolation: _Optional[_Union[PurchaseOptions, _Mapping]] = ..., nhiTier: _Optional[_Union[PurchaseOptions, _Mapping]] = ...) -> None: ... class AvailablePurchaseOptions(_message.Message): __slots__ = ("basePlan", "users", "addons") @@ -870,15 +924,31 @@ class SubscriptionEnterprisePricingRequest(_message.Message): __slots__ = () def __init__(self) -> None: ... +class NhiTierPlan(_message.Message): + __slots__ = ("tierId", "nhiCeiling", "cost", "productId", "nhiFloor") + TIERID_FIELD_NUMBER: _ClassVar[int] + NHICEILING_FIELD_NUMBER: _ClassVar[int] + COST_FIELD_NUMBER: _ClassVar[int] + PRODUCTID_FIELD_NUMBER: _ClassVar[int] + NHIFLOOR_FIELD_NUMBER: _ClassVar[int] + tierId: int + nhiCeiling: int + cost: Cost + productId: int + nhiFloor: int + def __init__(self, tierId: _Optional[int] = ..., nhiCeiling: _Optional[int] = ..., cost: _Optional[_Union[Cost, _Mapping]] = ..., productId: _Optional[int] = ..., nhiFloor: _Optional[int] = ...) -> None: ... + class SubscriptionEnterprisePricingResponse(_message.Message): - __slots__ = ("basePlans", "addons", "filePlans") + __slots__ = ("basePlans", "addons", "filePlans", "nhiTierPlans") BASEPLANS_FIELD_NUMBER: _ClassVar[int] ADDONS_FIELD_NUMBER: _ClassVar[int] FILEPLANS_FIELD_NUMBER: _ClassVar[int] + NHITIERPLANS_FIELD_NUMBER: _ClassVar[int] basePlans: _containers.RepeatedCompositeFieldContainer[EnterpriseBasePlan] addons: _containers.RepeatedCompositeFieldContainer[Addon] filePlans: _containers.RepeatedCompositeFieldContainer[FilePlan] - def __init__(self, basePlans: _Optional[_Iterable[_Union[EnterpriseBasePlan, _Mapping]]] = ..., addons: _Optional[_Iterable[_Union[Addon, _Mapping]]] = ..., filePlans: _Optional[_Iterable[_Union[FilePlan, _Mapping]]] = ...) -> None: ... + nhiTierPlans: _containers.RepeatedCompositeFieldContainer[NhiTierPlan] + def __init__(self, basePlans: _Optional[_Iterable[_Union[EnterpriseBasePlan, _Mapping]]] = ..., addons: _Optional[_Iterable[_Union[Addon, _Mapping]]] = ..., filePlans: _Optional[_Iterable[_Union[FilePlan, _Mapping]]] = ..., nhiTierPlans: _Optional[_Iterable[_Union[NhiTierPlan, _Mapping]]] = ...) -> None: ... class SingularDeviceIdentifier(_message.Message): __slots__ = ("id", "idType") diff --git a/keepersdk-package/src/keepersdk/proto/automator_pb2.py b/keepersdk-package/src/keepersdk/proto/automator_pb2.py index 3cba9106..27e689cc 100644 --- a/keepersdk-package/src/keepersdk/proto/automator_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/automator_pb2.py @@ -27,7 +27,7 @@ from . import version_pb2 as version__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x61utomator.proto\x12\tAutomator\x1a\x0essocloud.proto\x1a\x10\x65nterprise.proto\x1a\rversion.proto\"\xbf\x02\n\x15\x41utomatorSettingValue\x12\x11\n\tsettingId\x18\x01 \x01(\x03\x12\x15\n\rsettingTypeId\x18\x02 \x01(\x05\x12\x12\n\nsettingTag\x18\x03 \x01(\t\x12\x13\n\x0bsettingName\x18\x04 \x01(\t\x12\x14\n\x0csettingValue\x18\x05 \x01(\t\x12$\n\x08\x64\x61taType\x18\x06 \x01(\x0e\x32\x12.SsoCloud.DataType\x12\x14\n\x0clastModified\x18\x07 \x01(\t\x12\x10\n\x08\x66romFile\x18\x08 \x01(\x08\x12\x11\n\tencrypted\x18\t \x01(\x08\x12\x0f\n\x07\x65ncoded\x18\n \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x0b \x01(\x08\x12\x12\n\ntranslated\x18\x0c \x01(\x08\x12\x13\n\x0buserVisible\x18\r \x01(\x08\x12\x10\n\x08required\x18\x0e \x01(\x08\"\xee\x02\n\x14\x41pproveDeviceRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x05 \x01(\x0c\x12\x1c\n\x14serverEccPublicKeyId\x18\x06 \x01(\x05\x12\x1c\n\x14userEncryptedDataKey\x18\x07 \x01(\x0c\x12>\n\x18userEncryptedDataKeyType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x11\n\tipAddress\x18\t \x01(\t\x12\x11\n\tisTesting\x18\n \x01(\x08\x12\x11\n\tisEccOnly\x18\x0b \x01(\x08\"\xa9\x02\n\x0cSetupRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x1c\n\x14serverEccPublicKeyId\x18\x02 \x01(\x05\x12\x31\n\x0e\x61utomatorState\x18\x03 \x01(\x0e\x32\x19.Automator.AutomatorState\x12(\n encryptedEnterprisePrivateEccKey\x18\x04 \x01(\x0c\x12(\n encryptedEnterprisePrivateRsaKey\x18\x05 \x01(\x0c\x12\x32\n\x0f\x61utomatorSkills\x18\x06 \x03(\x0b\x32\x19.Automator.AutomatorSkill\x12\x18\n\x10\x65ncryptedTreeKey\x18\x07 \x01(\x0c\x12\x11\n\tisEccOnly\x18\x08 \x01(\x08\"U\n\rStatusRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x1c\n\x14serverEccPublicKeyId\x18\x02 \x01(\x05\x12\x11\n\tisEccOnly\x18\x03 \x01(\x08\"\xa3\x04\n\x11InitializeRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x13\n\x0bidpMetadata\x18\x02 \x01(\t\x12\x1d\n\x15idpSigningCertificate\x18\x03 \x01(\x0c\x12\x13\n\x0bssoEntityId\x18\x04 \x01(\t\x12\x14\n\x0c\x65mailMapping\x18\x05 \x01(\t\x12\x18\n\x10\x66irstnameMapping\x18\x06 \x01(\t\x12\x17\n\x0flastnameMapping\x18\x07 \x01(\t\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x12\x1c\n\x14serverEccPublicKeyId\x18\t \x01(\x05\x12\x0e\n\x06\x63onfig\x18\n \x01(\x0c\x12\x0f\n\x07sslMode\x18\x0b \x01(\t\x12\x14\n\x0cpersistState\x18\x0c \x01(\x08\x12\x17\n\x0f\x64isableSniCheck\x18\r \x01(\x08\x12\x1e\n\x16sslCertificateFilename\x18\x0e \x01(\t\x12\"\n\x1asslCertificateFilePassword\x18\x0f \x01(\t\x12!\n\x19sslCertificateKeyPassword\x18\x10 \x01(\t\x12\x1e\n\x16sslCertificateContents\x18\x11 \x01(\x0c\x12\x15\n\rautomatorHost\x18\x12 \x01(\t\x12\x15\n\rautomatorPort\x18\x13 \x01(\t\x12\x0f\n\x07ipAllow\x18\x14 \x01(\t\x12\x0e\n\x06ipDeny\x18\x15 \x01(\t\x12\x11\n\tisEccOnly\x18\x16 \x01(\x08\"\xa6\x02\n\x16NotInitializedResponse\x12 \n\x18\x61utomatorTransmissionKey\x18\x01 \x01(\x0c\x12\x1a\n\x12signingCertificate\x18\x02 \x01(\x0c\x12\"\n\x1asigningCertificateFilename\x18\x03 \x01(\t\x12\"\n\x1asigningCertificatePassword\x18\x04 \x01(\t\x12\x1a\n\x12signingKeyPassword\x18\x05 \x01(\t\x12>\n\x18signingCertificateFormat\x18\x06 \x01(\x0e\x32\x1c.Automator.CertificateFormat\x12\x1a\n\x12\x61utomatorPublicKey\x18\x07 \x01(\x0c\x12\x0e\n\x06\x63onfig\x18\x08 \x01(\x0c\"\xa5\x04\n\x11\x41utomatorResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x39\n\rapproveDevice\x18\x04 \x01(\x0b\x32 .Automator.ApproveDeviceResponseH\x00\x12+\n\x06status\x18\x05 \x01(\x0b\x32\x19.Automator.StatusResponseH\x00\x12;\n\x0enotInitialized\x18\x06 \x01(\x0b\x32!.Automator.NotInitializedResponseH\x00\x12)\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x18.Automator.ErrorResponseH\x00\x12\x45\n\x13\x61pproveTeamsForUser\x18\n \x01(\x0b\x32&.Automator.ApproveTeamsForUserResponseH\x00\x12\x37\n\x0c\x61pproveTeams\x18\x0b \x01(\x0b\x32\x1f.Automator.ApproveTeamsResponseH\x00\x12\x31\n\x0e\x61utomatorState\x18\x08 \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x1d\n\x15\x61utomatorPublicEccKey\x18\t \x01(\x0c\x12)\n\x07version\x18\x0c \x01(\x0b\x32\x18.SemanticVersion.VersionB\n\n\x08response\"\x98\x01\n\x15\x41pproveDeviceResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x1c\n\x14\x65ncryptedUserDataKey\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\t\x12>\n\x18\x65ncryptedUserDataKeyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x8f\x04\n\x0eStatusResponse\x12\x13\n\x0binitialized\x18\x01 \x01(\x08\x12\x18\n\x10\x65nabledTimestamp\x18\x02 \x01(\x03\x12\x1c\n\x14initializedTimestamp\x18\x03 \x01(\x03\x12\x18\n\x10updatedTimestamp\x18\x04 \x01(\x03\x12\x1f\n\x17numberOfDevicesApproved\x18\x05 \x01(\x03\x12\x1d\n\x15numberOfDevicesDenied\x18\x06 \x01(\x03\x12\x16\n\x0enumberOfErrors\x18\x07 \x01(\x03\x12$\n\x18sslCertificateExpiration\x18\x08 \x01(\x03\x42\x02\x18\x01\x12\x41\n\x16notInitializedResponse\x18\t \x01(\x0b\x32!.Automator.NotInitializedResponse\x12\x0e\n\x06\x63onfig\x18\n \x01(\x0c\x12\'\n\x1fnumberOfTeamMembershipsApproved\x18\x0b \x01(\x03\x12%\n\x1dnumberOfTeamMembershipsDenied\x18\x0c \x01(\x03\x12\x1d\n\x15numberOfTeamsApproved\x18\r \x01(\x03\x12\x1b\n\x13numberOfTeamsDenied\x18\x0e \x01(\x03\x12\x39\n\x12sslCertificateInfo\x18\x0f \x03(\x0b\x32\x1d.Automator.SSLCertificateInfo\" \n\rErrorResponse\x12\x0f\n\x07message\x18\x01 \x01(\t\"X\n\x08LogEntry\x12\x12\n\nserverTime\x18\x01 \x01(\t\x12\x14\n\x0cmessageLevel\x18\x02 \x01(\t\x12\x11\n\tcomponent\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"b\n\rAdminResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\rautomatorInfo\x18\x03 \x03(\x0b\x32\x18.Automator.AutomatorInfo\"\x94\x03\n\rAutomatorInfo\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x32\n\x0f\x61utomatorSkills\x18\x06 \x03(\x0b\x32\x19.Automator.AutomatorSkill\x12@\n\x16\x61utomatorSettingValues\x18\x07 \x03(\x0b\x32 .Automator.AutomatorSettingValue\x12)\n\x06status\x18\x08 \x01(\x0b\x32\x19.Automator.StatusResponse\x12\'\n\nlogEntries\x18\t \x03(\x0b\x32\x13.Automator.LogEntry\x12\x31\n\x0e\x61utomatorState\x18\n \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x0f\n\x07version\x18\x0b \x01(\t\x12$\n\x1csslCertificateExpirationDate\x18\x0c \x01(\t\"e\n\x1b\x41\x64minCreateAutomatorRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12(\n\x05skill\x18\x03 \x01(\x0b\x32\x19.Automator.AutomatorSkill\"2\n\x1b\x41\x64minDeleteAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"1\n\x1f\x41\x64minGetAutomatorsOnNodeRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\">\n&AdminGetAutomatorsForEnterpriseRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\"/\n\x18\x41\x64minGetAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"C\n\x1b\x41\x64minEnableAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"\xc8\x01\n\x19\x41\x64minEditAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x0b\n\x03url\x18\x04 \x01(\t\x12(\n\nskillTypes\x18\x05 \x03(\x0e\x32\x14.Automator.SkillType\x12@\n\x16\x61utomatorSettingValues\x18\x06 \x03(\x0b\x32 .Automator.AutomatorSettingValue\"\xfc\x01\n\x1a\x41\x64minSetupAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x31\n\x0e\x61utomatorState\x18\x02 \x01(\x0e\x32\x19.Automator.AutomatorState\x12(\n encryptedEccEnterprisePrivateKey\x18\x03 \x01(\x0c\x12(\n encryptedRsaEnterprisePrivateKey\x18\x04 \x01(\x0c\x12(\n\nskillTypes\x18\x05 \x03(\x0e\x32\x14.Automator.SkillType\x12\x18\n\x10\x65ncryptedTreeKey\x18\x06 \x01(\x0c\"\xa6\x01\n\x1b\x41\x64minSetupAutomatorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x13\n\x0b\x61utomatorId\x18\x03 \x01(\x03\x12\x31\n\x0e\x61utomatorState\x18\x04 \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x1d\n\x15\x61utomatorEccPublicKey\x18\x05 \x01(\x0c\"2\n\x1b\x41\x64minAutomatorSkillsRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"_\n\x0e\x41utomatorSkill\x12\'\n\tskillType\x18\x01 \x01(\x0e\x32\x14.Automator.SkillType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x16\n\x0etranslatedName\x18\x03 \x01(\t\"t\n\x1c\x41\x64minAutomatorSkillsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x32\n\x0f\x61utomatorSkills\x18\x03 \x03(\x0b\x32\x19.Automator.AutomatorSkill\"1\n\x1a\x41\x64minResetAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"6\n\x1f\x41\x64minInitializeAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"/\n\x18\x41\x64minAutomatorLogRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"4\n\x1d\x41\x64minAutomatorLogClearRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"\xe3\x02\n\x1a\x41pproveTeamsForUserRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x1c\n\x14serverEccPublicKeyId\x18\x05 \x01(\x05\x12\x11\n\tipAddress\x18\x06 \x01(\t\x12\x15\n\ruserPublicKey\x18\x07 \x01(\x0c\x12\x33\n\x0fteamDescription\x18\x08 \x03(\x0b\x32\x1a.Automator.TeamDescription\x12\x11\n\tisTesting\x18\t \x01(\x08\x12\x11\n\tisEccOnly\x18\n \x01(\x08\x12\x18\n\x10userPublicKeyEcc\x18\x0b \x01(\x0c\"\x8a\x01\n\x0fTeamDescription\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamName\x18\x02 \x01(\t\x12\x18\n\x10\x65ncryptedTeamKey\x18\x03 \x01(\x0c\x12:\n\x14\x65ncryptedTeamKeyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x99\x01\n\x1b\x41pproveTeamsForUserResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x45\n\x13\x61pproveTeamResponse\x18\x04 \x03(\x0b\x32(.Automator.ApproveOneTeamForUserResponse\"\xab\x02\n\x1d\x41pproveOneTeamForUserResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12\x10\n\x08teamName\x18\x04 \x01(\t\x12\x1c\n\x14userEncryptedTeamKey\x18\x05 \x01(\x0c\x12>\n\x18userEncryptedTeamKeyType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12!\n\x19userEncryptedTeamKeyByEcc\x18\x07 \x01(\x0c\x12\x43\n\x1duserEncryptedTeamKeyByEccType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\xab\x02\n\x13\x41pproveTeamsRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x1c\n\x14serverEccPublicKeyId\x18\x05 \x01(\x05\x12\x11\n\tipAddress\x18\x06 \x01(\t\x12\x33\n\x0fteamDescription\x18\x07 \x03(\x0b\x32\x1a.Automator.TeamDescription\x12\x11\n\tisEccOnly\x18\x08 \x01(\x08\x12\x11\n\tisTesting\x18\t \x01(\x08\"|\n\x14\x41pproveTeamsResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07message\x18\x02 \x01(\t\x12>\n\x13\x61pproveTeamResponse\x18\x03 \x03(\x0b\x32!.Automator.ApproveOneTeamResponse\"\x9e\x04\n\x16\x41pproveOneTeamResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12\x10\n\x08teamName\x18\x04 \x01(\t\x12\x1b\n\x13\x65ncryptedTeamKeyCbc\x18\x05 \x01(\x0c\x12=\n\x17\x65ncryptedTeamKeyCbcType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x1b\n\x13\x65ncryptedTeamKeyGcm\x18\x07 \x01(\x0c\x12=\n\x17\x65ncryptedTeamKeyGcmType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x18\n\x10teamPublicKeyRsa\x18\t \x01(\x0c\x12\"\n\x1a\x65ncryptedTeamPrivateKeyRsa\x18\n \x01(\x0c\x12\x44\n\x1e\x65ncryptedTeamPrivateKeyRsaType\x18\x0b \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x18\n\x10teamPublicKeyEcc\x18\x0c \x01(\x0c\x12\"\n\x1a\x65ncryptedTeamPrivateKeyEcc\x18\r \x01(\x0c\x12\x44\n\x1e\x65ncryptedTeamPrivateKeyEccType\x18\x0e \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x93\x01\n\x12SSLCertificateInfo\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x04\x12\x0f\n\x07hostUrl\x18\x02 \x01(\t\x12\x0f\n\x07subject\x18\x03 \x01(\t\x12\x0e\n\x06issuer\x18\x04 \x01(\t\x12\x10\n\x08issuedOn\x18\x05 \x01(\x04\x12\x11\n\texpiresOn\x18\x06 \x01(\x04\x12\x11\n\tcheckedOn\x18\x07 \x01(\x04*I\n\x1dSsoAuthenticationProtocolType\x12\x14\n\x10UNKNOWN_PROTOCOL\x10\x00\x12\t\n\x05SAML2\x10\x01\x12\x07\n\x03JWT\x10\x02*<\n\x11\x43\x65rtificateFormat\x12\x12\n\x0eUNKNOWN_FORMAT\x10\x00\x12\n\n\x06PKCS12\x10\x01\x12\x07\n\x03JKS\x10\x02*g\n\tSkillType\x12\x16\n\x12UNKNOWN_SKILL_TYPE\x10\x00\x12\x13\n\x0f\x44\x45VICE_APPROVAL\x10\x01\x12\x11\n\rTEAM_APPROVAL\x10\x02\x12\x1a\n\x16TEAM_FOR_USER_APPROVAL\x10\x03*\x87\x01\n\x0e\x41utomatorState\x12\x11\n\rUNKNOWN_STATE\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02\x12\x18\n\x14NEEDS_INITIALIZATION\x10\x03\x12\x17\n\x13NEEDS_CRYPTO_STEP_1\x10\x04\x12\x17\n\x13NEEDS_CRYPTO_STEP_2\x10\x05\x42%\n\x18\x63om.keepersecurity.protoB\tAutomatorb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x61utomator.proto\x12\tAutomator\x1a\x0essocloud.proto\x1a\x10\x65nterprise.proto\x1a\rversion.proto\"\xbf\x02\n\x15\x41utomatorSettingValue\x12\x11\n\tsettingId\x18\x01 \x01(\x03\x12\x15\n\rsettingTypeId\x18\x02 \x01(\x05\x12\x12\n\nsettingTag\x18\x03 \x01(\t\x12\x13\n\x0bsettingName\x18\x04 \x01(\t\x12\x14\n\x0csettingValue\x18\x05 \x01(\t\x12$\n\x08\x64\x61taType\x18\x06 \x01(\x0e\x32\x12.SsoCloud.DataType\x12\x14\n\x0clastModified\x18\x07 \x01(\t\x12\x10\n\x08\x66romFile\x18\x08 \x01(\x08\x12\x11\n\tencrypted\x18\t \x01(\x08\x12\x0f\n\x07\x65ncoded\x18\n \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x0b \x01(\x08\x12\x12\n\ntranslated\x18\x0c \x01(\x08\x12\x13\n\x0buserVisible\x18\r \x01(\x08\x12\x10\n\x08required\x18\x0e \x01(\x08\"\xee\x02\n\x14\x41pproveDeviceRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x05 \x01(\x0c\x12\x1c\n\x14serverEccPublicKeyId\x18\x06 \x01(\x05\x12\x1c\n\x14userEncryptedDataKey\x18\x07 \x01(\x0c\x12>\n\x18userEncryptedDataKeyType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x11\n\tipAddress\x18\t \x01(\t\x12\x11\n\tisTesting\x18\n \x01(\x08\x12\x11\n\tisEccOnly\x18\x0b \x01(\x08\"\xa9\x02\n\x0cSetupRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x1c\n\x14serverEccPublicKeyId\x18\x02 \x01(\x05\x12\x31\n\x0e\x61utomatorState\x18\x03 \x01(\x0e\x32\x19.Automator.AutomatorState\x12(\n encryptedEnterprisePrivateEccKey\x18\x04 \x01(\x0c\x12(\n encryptedEnterprisePrivateRsaKey\x18\x05 \x01(\x0c\x12\x32\n\x0f\x61utomatorSkills\x18\x06 \x03(\x0b\x32\x19.Automator.AutomatorSkill\x12\x18\n\x10\x65ncryptedTreeKey\x18\x07 \x01(\x0c\x12\x11\n\tisEccOnly\x18\x08 \x01(\x08\"U\n\rStatusRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x1c\n\x14serverEccPublicKeyId\x18\x02 \x01(\x05\x12\x11\n\tisEccOnly\x18\x03 \x01(\x08\"\xa3\x04\n\x11InitializeRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x13\n\x0bidpMetadata\x18\x02 \x01(\t\x12\x1d\n\x15idpSigningCertificate\x18\x03 \x01(\x0c\x12\x13\n\x0bssoEntityId\x18\x04 \x01(\t\x12\x14\n\x0c\x65mailMapping\x18\x05 \x01(\t\x12\x18\n\x10\x66irstnameMapping\x18\x06 \x01(\t\x12\x17\n\x0flastnameMapping\x18\x07 \x01(\t\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x12\x1c\n\x14serverEccPublicKeyId\x18\t \x01(\x05\x12\x0e\n\x06\x63onfig\x18\n \x01(\x0c\x12\x0f\n\x07sslMode\x18\x0b \x01(\t\x12\x14\n\x0cpersistState\x18\x0c \x01(\x08\x12\x17\n\x0f\x64isableSniCheck\x18\r \x01(\x08\x12\x1e\n\x16sslCertificateFilename\x18\x0e \x01(\t\x12\"\n\x1asslCertificateFilePassword\x18\x0f \x01(\t\x12!\n\x19sslCertificateKeyPassword\x18\x10 \x01(\t\x12\x1e\n\x16sslCertificateContents\x18\x11 \x01(\x0c\x12\x15\n\rautomatorHost\x18\x12 \x01(\t\x12\x15\n\rautomatorPort\x18\x13 \x01(\t\x12\x0f\n\x07ipAllow\x18\x14 \x01(\t\x12\x0e\n\x06ipDeny\x18\x15 \x01(\t\x12\x11\n\tisEccOnly\x18\x16 \x01(\x08\"\xa6\x02\n\x16NotInitializedResponse\x12 \n\x18\x61utomatorTransmissionKey\x18\x01 \x01(\x0c\x12\x1a\n\x12signingCertificate\x18\x02 \x01(\x0c\x12\"\n\x1asigningCertificateFilename\x18\x03 \x01(\t\x12\"\n\x1asigningCertificatePassword\x18\x04 \x01(\t\x12\x1a\n\x12signingKeyPassword\x18\x05 \x01(\t\x12>\n\x18signingCertificateFormat\x18\x06 \x01(\x0e\x32\x1c.Automator.CertificateFormat\x12\x1a\n\x12\x61utomatorPublicKey\x18\x07 \x01(\x0c\x12\x0e\n\x06\x63onfig\x18\x08 \x01(\x0c\"\xa5\x04\n\x11\x41utomatorResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x39\n\rapproveDevice\x18\x04 \x01(\x0b\x32 .Automator.ApproveDeviceResponseH\x00\x12+\n\x06status\x18\x05 \x01(\x0b\x32\x19.Automator.StatusResponseH\x00\x12;\n\x0enotInitialized\x18\x06 \x01(\x0b\x32!.Automator.NotInitializedResponseH\x00\x12)\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x18.Automator.ErrorResponseH\x00\x12\x45\n\x13\x61pproveTeamsForUser\x18\n \x01(\x0b\x32&.Automator.ApproveTeamsForUserResponseH\x00\x12\x37\n\x0c\x61pproveTeams\x18\x0b \x01(\x0b\x32\x1f.Automator.ApproveTeamsResponseH\x00\x12\x31\n\x0e\x61utomatorState\x18\x08 \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x1d\n\x15\x61utomatorPublicEccKey\x18\t \x01(\x0c\x12)\n\x07version\x18\x0c \x01(\x0b\x32\x18.SemanticVersion.VersionB\n\n\x08response\"\x98\x01\n\x15\x41pproveDeviceResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x1c\n\x14\x65ncryptedUserDataKey\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\t\x12>\n\x18\x65ncryptedUserDataKeyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x8f\x04\n\x0eStatusResponse\x12\x13\n\x0binitialized\x18\x01 \x01(\x08\x12\x18\n\x10\x65nabledTimestamp\x18\x02 \x01(\x03\x12\x1c\n\x14initializedTimestamp\x18\x03 \x01(\x03\x12\x18\n\x10updatedTimestamp\x18\x04 \x01(\x03\x12\x1f\n\x17numberOfDevicesApproved\x18\x05 \x01(\x03\x12\x1d\n\x15numberOfDevicesDenied\x18\x06 \x01(\x03\x12\x16\n\x0enumberOfErrors\x18\x07 \x01(\x03\x12$\n\x18sslCertificateExpiration\x18\x08 \x01(\x03\x42\x02\x18\x01\x12\x41\n\x16notInitializedResponse\x18\t \x01(\x0b\x32!.Automator.NotInitializedResponse\x12\x0e\n\x06\x63onfig\x18\n \x01(\x0c\x12\'\n\x1fnumberOfTeamMembershipsApproved\x18\x0b \x01(\x03\x12%\n\x1dnumberOfTeamMembershipsDenied\x18\x0c \x01(\x03\x12\x1d\n\x15numberOfTeamsApproved\x18\r \x01(\x03\x12\x1b\n\x13numberOfTeamsDenied\x18\x0e \x01(\x03\x12\x39\n\x12sslCertificateInfo\x18\x0f \x03(\x0b\x32\x1d.Automator.SSLCertificateInfo\" \n\rErrorResponse\x12\x0f\n\x07message\x18\x01 \x01(\t\"X\n\x08LogEntry\x12\x12\n\nserverTime\x18\x01 \x01(\t\x12\x14\n\x0cmessageLevel\x18\x02 \x01(\t\x12\x11\n\tcomponent\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"b\n\rAdminResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\rautomatorInfo\x18\x03 \x03(\x0b\x32\x18.Automator.AutomatorInfo\"\x94\x03\n\rAutomatorInfo\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x32\n\x0f\x61utomatorSkills\x18\x06 \x03(\x0b\x32\x19.Automator.AutomatorSkill\x12@\n\x16\x61utomatorSettingValues\x18\x07 \x03(\x0b\x32 .Automator.AutomatorSettingValue\x12)\n\x06status\x18\x08 \x01(\x0b\x32\x19.Automator.StatusResponse\x12\'\n\nlogEntries\x18\t \x03(\x0b\x32\x13.Automator.LogEntry\x12\x31\n\x0e\x61utomatorState\x18\n \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x0f\n\x07version\x18\x0b \x01(\t\x12$\n\x1csslCertificateExpirationDate\x18\x0c \x01(\t\"e\n\x1b\x41\x64minCreateAutomatorRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12(\n\x05skill\x18\x03 \x01(\x0b\x32\x19.Automator.AutomatorSkill\"2\n\x1b\x41\x64minDeleteAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"1\n\x1f\x41\x64minGetAutomatorsOnNodeRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\">\n&AdminGetAutomatorsForEnterpriseRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\"/\n\x18\x41\x64minGetAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"C\n\x1b\x41\x64minEnableAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"\xc8\x01\n\x19\x41\x64minEditAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x0b\n\x03url\x18\x04 \x01(\t\x12(\n\nskillTypes\x18\x05 \x03(\x0e\x32\x14.Automator.SkillType\x12@\n\x16\x61utomatorSettingValues\x18\x06 \x03(\x0b\x32 .Automator.AutomatorSettingValue\"\xfc\x01\n\x1a\x41\x64minSetupAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x31\n\x0e\x61utomatorState\x18\x02 \x01(\x0e\x32\x19.Automator.AutomatorState\x12(\n encryptedEccEnterprisePrivateKey\x18\x03 \x01(\x0c\x12(\n encryptedRsaEnterprisePrivateKey\x18\x04 \x01(\x0c\x12(\n\nskillTypes\x18\x05 \x03(\x0e\x32\x14.Automator.SkillType\x12\x18\n\x10\x65ncryptedTreeKey\x18\x06 \x01(\x0c\"\xa6\x01\n\x1b\x41\x64minSetupAutomatorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x13\n\x0b\x61utomatorId\x18\x03 \x01(\x03\x12\x31\n\x0e\x61utomatorState\x18\x04 \x01(\x0e\x32\x19.Automator.AutomatorState\x12\x1d\n\x15\x61utomatorEccPublicKey\x18\x05 \x01(\x0c\"2\n\x1b\x41\x64minAutomatorSkillsRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"_\n\x0e\x41utomatorSkill\x12\'\n\tskillType\x18\x01 \x01(\x0e\x32\x14.Automator.SkillType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x16\n\x0etranslatedName\x18\x03 \x01(\t\"t\n\x1c\x41\x64minAutomatorSkillsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x32\n\x0f\x61utomatorSkills\x18\x03 \x03(\x0b\x32\x19.Automator.AutomatorSkill\"1\n\x1a\x41\x64minResetAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"6\n\x1f\x41\x64minInitializeAutomatorRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"/\n\x18\x41\x64minAutomatorLogRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"4\n\x1d\x41\x64minAutomatorLogClearRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\"\xe3\x02\n\x1a\x41pproveTeamsForUserRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x1c\n\x14serverEccPublicKeyId\x18\x05 \x01(\x05\x12\x11\n\tipAddress\x18\x06 \x01(\t\x12\x15\n\ruserPublicKey\x18\x07 \x01(\x0c\x12\x33\n\x0fteamDescription\x18\x08 \x03(\x0b\x32\x1a.Automator.TeamDescription\x12\x11\n\tisTesting\x18\t \x01(\x08\x12\x11\n\tisEccOnly\x18\n \x01(\x08\x12\x18\n\x10userPublicKeyEcc\x18\x0b \x01(\x0c\"\x8a\x01\n\x0fTeamDescription\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamName\x18\x02 \x01(\t\x12\x18\n\x10\x65ncryptedTeamKey\x18\x03 \x01(\x0c\x12:\n\x14\x65ncryptedTeamKeyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x99\x01\n\x1b\x41pproveTeamsForUserResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x45\n\x13\x61pproveTeamResponse\x18\x04 \x03(\x0b\x32(.Automator.ApproveOneTeamForUserResponse\"\xab\x02\n\x1d\x41pproveOneTeamForUserResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12\x10\n\x08teamName\x18\x04 \x01(\t\x12\x1c\n\x14userEncryptedTeamKey\x18\x05 \x01(\x0c\x12>\n\x18userEncryptedTeamKeyType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12!\n\x19userEncryptedTeamKeyByEcc\x18\x07 \x01(\x0c\x12\x43\n\x1duserEncryptedTeamKeyByEccType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\xab\x02\n\x13\x41pproveTeamsRequest\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12O\n\x1dssoAuthenticationProtocolType\x18\x02 \x01(\x0e\x32(.Automator.SsoAuthenticationProtocolType\x12\x13\n\x0b\x61uthMessage\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x1c\n\x14serverEccPublicKeyId\x18\x05 \x01(\x05\x12\x11\n\tipAddress\x18\x06 \x01(\t\x12\x33\n\x0fteamDescription\x18\x07 \x03(\x0b\x32\x1a.Automator.TeamDescription\x12\x11\n\tisEccOnly\x18\x08 \x01(\x08\x12\x11\n\tisTesting\x18\t \x01(\x08\"|\n\x14\x41pproveTeamsResponse\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x03\x12\x0f\n\x07message\x18\x02 \x01(\t\x12>\n\x13\x61pproveTeamResponse\x18\x03 \x03(\x0b\x32!.Automator.ApproveOneTeamResponse\"\x9e\x04\n\x16\x41pproveOneTeamResponse\x12\x10\n\x08\x61pproved\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12\x10\n\x08teamName\x18\x04 \x01(\t\x12\x1b\n\x13\x65ncryptedTeamKeyCbc\x18\x05 \x01(\x0c\x12=\n\x17\x65ncryptedTeamKeyCbcType\x18\x06 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x1b\n\x13\x65ncryptedTeamKeyGcm\x18\x07 \x01(\x0c\x12=\n\x17\x65ncryptedTeamKeyGcmType\x18\x08 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x18\n\x10teamPublicKeyRsa\x18\t \x01(\x0c\x12\"\n\x1a\x65ncryptedTeamPrivateKeyRsa\x18\n \x01(\x0c\x12\x44\n\x1e\x65ncryptedTeamPrivateKeyRsaType\x18\x0b \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x18\n\x10teamPublicKeyEcc\x18\x0c \x01(\x0c\x12\"\n\x1a\x65ncryptedTeamPrivateKeyEcc\x18\r \x01(\x0c\x12\x44\n\x1e\x65ncryptedTeamPrivateKeyEccType\x18\x0e \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"\x93\x01\n\x12SSLCertificateInfo\x12\x13\n\x0b\x61utomatorId\x18\x01 \x01(\x04\x12\x0f\n\x07hostUrl\x18\x02 \x01(\t\x12\x0f\n\x07subject\x18\x03 \x01(\t\x12\x0e\n\x06issuer\x18\x04 \x01(\t\x12\x10\n\x08issuedOn\x18\x05 \x01(\x04\x12\x11\n\texpiresOn\x18\x06 \x01(\x04\x12\x11\n\tcheckedOn\x18\x07 \x01(\x04*I\n\x1dSsoAuthenticationProtocolType\x12\x14\n\x10UNKNOWN_PROTOCOL\x10\x00\x12\t\n\x05SAML2\x10\x01\x12\x07\n\x03JWT\x10\x02*<\n\x11\x43\x65rtificateFormat\x12\x12\n\x0eUNKNOWN_FORMAT\x10\x00\x12\n\n\x06PKCS12\x10\x01\x12\x07\n\x03JKS\x10\x02*v\n\tSkillType\x12\x16\n\x12UNKNOWN_SKILL_TYPE\x10\x00\x12\x13\n\x0f\x44\x45VICE_APPROVAL\x10\x01\x12\x11\n\rTEAM_APPROVAL\x10\x02\x12\x1a\n\x16TEAM_FOR_USER_APPROVAL\x10\x03\x12\r\n\tREPORTING\x10\x04*\x87\x01\n\x0e\x41utomatorState\x12\x11\n\rUNKNOWN_STATE\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02\x12\x18\n\x14NEEDS_INITIALIZATION\x10\x03\x12\x17\n\x13NEEDS_CRYPTO_STEP_1\x10\x04\x12\x17\n\x13NEEDS_CRYPTO_STEP_2\x10\x05\x42%\n\x18\x63om.keepersecurity.protoB\tAutomatorb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,9 +42,9 @@ _globals['_CERTIFICATEFORMAT']._serialized_start=7519 _globals['_CERTIFICATEFORMAT']._serialized_end=7579 _globals['_SKILLTYPE']._serialized_start=7581 - _globals['_SKILLTYPE']._serialized_end=7684 - _globals['_AUTOMATORSTATE']._serialized_start=7687 - _globals['_AUTOMATORSTATE']._serialized_end=7822 + _globals['_SKILLTYPE']._serialized_end=7699 + _globals['_AUTOMATORSTATE']._serialized_start=7702 + _globals['_AUTOMATORSTATE']._serialized_end=7837 _globals['_AUTOMATORSETTINGVALUE']._serialized_start=80 _globals['_AUTOMATORSETTINGVALUE']._serialized_end=399 _globals['_APPROVEDEVICEREQUEST']._serialized_start=402 diff --git a/keepersdk-package/src/keepersdk/proto/automator_pb2.pyi b/keepersdk-package/src/keepersdk/proto/automator_pb2.pyi index c83a01ae..cf038cde 100644 --- a/keepersdk-package/src/keepersdk/proto/automator_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/automator_pb2.pyi @@ -1,6 +1,6 @@ -import ssocloud_pb2 as _ssocloud_pb2 -import enterprise_pb2 as _enterprise_pb2 -import version_pb2 as _version_pb2 +from . import ssocloud_pb2 as _ssocloud_pb2 +from . import enterprise_pb2 as _enterprise_pb2 +from . import version_pb2 as _version_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -27,6 +27,7 @@ class SkillType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): DEVICE_APPROVAL: _ClassVar[SkillType] TEAM_APPROVAL: _ClassVar[SkillType] TEAM_FOR_USER_APPROVAL: _ClassVar[SkillType] + REPORTING: _ClassVar[SkillType] class AutomatorState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -46,6 +47,7 @@ UNKNOWN_SKILL_TYPE: SkillType DEVICE_APPROVAL: SkillType TEAM_APPROVAL: SkillType TEAM_FOR_USER_APPROVAL: SkillType +REPORTING: SkillType UNKNOWN_STATE: AutomatorState RUNNING: AutomatorState ERROR: AutomatorState diff --git a/keepersdk-package/src/keepersdk/proto/enterprise_pb2.py b/keepersdk-package/src/keepersdk/proto/enterprise_pb2.py index 2646c89c..c9ad3e2c 100644 --- a/keepersdk-package/src/keepersdk/proto/enterprise_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/enterprise_pb2.py @@ -21,10 +21,10 @@ _sym_db = _symbol_database.Default() +from . import folder_pb2 as folder__pb2 - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65nterprise.proto\x12\nEnterprise\"\x84\x01\n\x18\x45nterpriseKeyPairRequest\x12\x1b\n\x13\x65nterprisePublicKey\x18\x01 \x01(\x0c\x12%\n\x1d\x65ncryptedEnterprisePrivateKey\x18\x02 \x01(\x0c\x12$\n\x07keyType\x18\x03 \x01(\x0e\x32\x13.Enterprise.KeyType\"\'\n\x14GetTeamMemberRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\"}\n\x0e\x45nterpriseUser\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x1a\n\x12\x65nterpriseUsername\x18\x03 \x01(\t\x12\x14\n\x0cisShareAdmin\x18\x04 \x01(\x08\x12\x10\n\x08username\x18\x05 \x01(\t\"K\n\x15GetTeamMemberResponse\x12\x32\n\x0e\x65nterpriseUser\x18\x01 \x03(\x0b\x32\x1a.Enterprise.EnterpriseUser\"-\n\x11\x45nterpriseUserIds\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\"B\n\x19\x45nterprisePersonalAccount\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x16\n\x0eOBSOLETE_FIELD\x18\x02 \x01(\x0c\"S\n\x17\x45ncryptedTeamKeyRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptedTeamKey\x18\x02 \x01(\x0c\x12\r\n\x05\x66orce\x18\x03 \x01(\x08\"+\n\x0fReEncryptedData\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"?\n\x12ReEncryptedRoleKey\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x18\n\x10\x65ncryptedRoleKey\x18\x02 \x01(\x0c\"P\n\x16ReEncryptedUserDataKey\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\"\xd8\x02\n\x1bNodeToManagedCompanyRequest\x12\x11\n\tcompanyId\x18\x01 \x01(\x05\x12*\n\x05nodes\x18\x02 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12*\n\x05roles\x18\x03 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12*\n\x05users\x18\x04 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12\x30\n\x08roleKeys\x18\x05 \x03(\x0b\x32\x1e.Enterprise.ReEncryptedRoleKey\x12\x35\n\x08teamKeys\x18\x06 \x03(\x0b\x32#.Enterprise.EncryptedTeamKeyRequest\x12\x39\n\rusersDataKeys\x18\x07 \x03(\x0b\x32\".Enterprise.ReEncryptedUserDataKey\",\n\x08RoleTeam\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x0f\n\x07teamUid\x18\x02 \x01(\x0c\"4\n\tRoleTeams\x12\'\n\trole_team\x18\x01 \x03(\x0b\x32\x14.Enterprise.RoleTeam\"/\n\x0bTeamsByRole\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\"<\n\x12ManagedNodesByRole\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x15\n\rmanagedNodeId\x18\x02 \x03(\x03\"R\n\x0fRoleUserAddKeys\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0f\n\x07treeKey\x18\x02 \x01(\t\x12\x14\n\x0croleAdminKey\x18\x03 \x01(\t\"T\n\x0bRoleUserAdd\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x34\n\x0froleUserAddKeys\x18\x02 \x03(\x0b\x32\x1b.Enterprise.RoleUserAddKeys\"D\n\x13RoleUsersAddRequest\x12-\n\x0croleUserAdds\x18\x01 \x03(\x0b\x32\x17.Enterprise.RoleUserAdd\"\x80\x01\n\x11RoleUserAddResult\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x30\n\x06status\x18\x03 \x01(\x0e\x32 .Enterprise.RoleUserModifyStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\"F\n\x14RoleUsersAddResponse\x12.\n\x07results\x18\x01 \x03(\x0b\x32\x1d.Enterprise.RoleUserAddResult\"<\n\x0eRoleUserRemove\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"M\n\x16RoleUsersRemoveRequest\x12\x33\n\x0froleUserRemoves\x18\x01 \x03(\x0b\x32\x1a.Enterprise.RoleUserRemove\"\x83\x01\n\x14RoleUserRemoveResult\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x30\n\x06status\x18\x03 \x01(\x0e\x32 .Enterprise.RoleUserModifyStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\"L\n\x17RoleUsersRemoveResponse\x12\x31\n\x07results\x18\x01 \x03(\x0b\x32 .Enterprise.RoleUserRemoveResult\"\xa0\x04\n\x16\x45nterpriseRegistration\x12\x18\n\x10\x65ncryptedTreeKey\x18\x01 \x01(\x0c\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\x12\x14\n\x0crootNodeData\x18\x03 \x01(\x0c\x12\x15\n\radminUserData\x18\x04 \x01(\x0c\x12\x11\n\tadminName\x18\x05 \x01(\t\x12\x10\n\x08roleData\x18\x06 \x01(\x0c\x12\x38\n\nrsaKeyPair\x18\x07 \x01(\x0b\x32$.Enterprise.EnterpriseKeyPairRequest\x12\x13\n\x0bnumberSeats\x18\x08 \x01(\x05\x12\x32\n\x0e\x65nterpriseType\x18\t \x01(\x0e\x32\x1a.Enterprise.EnterpriseType\x12\x15\n\rrolePublicKey\x18\n \x01(\x0c\x12*\n\"rolePrivateKeyEncryptedWithRoleKey\x18\x0b \x01(\x0c\x12#\n\x1broleKeyEncryptedWithTreeKey\x18\x0c \x01(\x0c\x12\x38\n\neccKeyPair\x18\r \x01(\x0b\x32$.Enterprise.EnterpriseKeyPairRequest\x12\x18\n\x10\x61llUsersRoleData\x18\x0e \x01(\x0c\x12)\n!roleKeyEncryptedWithUserPublicKey\x18\x0f \x01(\x0c\x12\x18\n\x10\x61pproverRoleData\x18\x10 \x01(\x0c\"H\n\x1a\x44omainPasswordRulesRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\"\\\n\x19\x44omainPasswordRulesFields\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07minimum\x18\x02 \x01(\x05\x12\x0f\n\x07maximum\x18\x03 \x01(\x05\x12\x0f\n\x07\x61llowed\x18\x04 \x01(\x08\"E\n\x10LoginToMcRequest\x12\x16\n\x0emcEnterpriseId\x18\x01 \x01(\x05\x12\x19\n\x11messageSessionUid\x18\x02 \x01(\x0c\"w\n\x11LoginToMcResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptedTreeKey\x18\x02 \x01(\t\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\x12\x16\n\x0e\x66orbidKeyType2\x18\x04 \x01(\x08\"g\n\x1b\x44omainPasswordRulesResponse\x12H\n\x19\x64omainPasswordRulesFields\x18\x01 \x03(\x0b\x32%.Enterprise.DomainPasswordRulesFields\"\x88\x01\n\x18\x41pproveUserDeviceRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x03 \x01(\x0c\x12\x14\n\x0c\x64\x65nyApproval\x18\x04 \x01(\x08\"t\n\x19\x41pproveUserDeviceResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\x12\x0e\n\x06\x66\x61iled\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\"Y\n\x19\x41pproveUserDevicesRequest\x12<\n\x0e\x64\x65viceRequests\x18\x01 \x03(\x0b\x32$.Enterprise.ApproveUserDeviceRequest\"\\\n\x1a\x41pproveUserDevicesResponse\x12>\n\x0f\x64\x65viceResponses\x18\x01 \x03(\x0b\x32%.Enterprise.ApproveUserDeviceResponse\"\x87\x01\n\x15\x45nterpriseUserDataKey\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\x12\x0f\n\x07roleKey\x18\x04 \x01(\x0c\x12\x12\n\nprivateKey\x18\x05 \x01(\x0c\"I\n\x16\x45nterpriseUserDataKeys\x12/\n\x04keys\x18\x01 \x03(\x0b\x32!.Enterprise.EnterpriseUserDataKey\"g\n\x1a\x45nterpriseUserDataKeyLight\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\"d\n\x1c\x45nterpriseUserDataKeysByNode\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x34\n\x04keys\x18\x02 \x03(\x0b\x32&.Enterprise.EnterpriseUserDataKeyLight\"^\n$EnterpriseUserDataKeysByNodeResponse\x12\x36\n\x04keys\x18\x01 \x03(\x0b\x32(.Enterprise.EnterpriseUserDataKeysByNode\"2\n\x15\x45nterpriseDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"0\n\x13SpecialProvisioning\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x02\n\x11GeneralDataEntity\x12\x16\n\x0e\x65nterpriseName\x18\x01 \x01(\t\x12\x1a\n\x12restrictVisibility\x18\x02 \x01(\x08\x12<\n\x13specialProvisioning\x18\x04 \x01(\x0b\x32\x1f.Enterprise.SpecialProvisioning\x12\x30\n\ruserPrivilege\x18\x07 \x01(\x0b\x32\x19.Enterprise.UserPrivilege\x12\x13\n\x0b\x64istributor\x18\x08 \x01(\x08\x12\x1d\n\x15\x66orbidAccountTransfer\x18\t \x01(\x08\x12\x17\n\x0fshowUserOnboard\x18\n \x01(\x08\"\xfd\x01\n\x04Node\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x10\n\x08parentId\x18\x02 \x01(\x03\x12\x10\n\x08\x62ridgeId\x18\x03 \x01(\x03\x12\x0e\n\x06scimId\x18\x04 \x01(\x03\x12\x11\n\tlicenseId\x18\x05 \x01(\x03\x12\x15\n\rencryptedData\x18\x06 \x01(\t\x12\x12\n\nduoEnabled\x18\x07 \x01(\x08\x12\x12\n\nrsaEnabled\x18\x08 \x01(\x08\x12 \n\x14ssoServiceProviderId\x18\t \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x12restrictVisibility\x18\n \x01(\x08\x12!\n\x15ssoServiceProviderIds\x18\x0b \x03(\x03\x42\x02\x10\x01\"\x8e\x01\n\x04Role\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\x12\x0f\n\x07keyType\x18\x04 \x01(\t\x12\x14\n\x0cvisibleBelow\x18\x05 \x01(\x08\x12\x16\n\x0enewUserInherit\x18\x06 \x01(\x08\x12\x10\n\x08roleType\x18\x07 \x01(\t\"\xb8\x02\n\x04User\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\x12\x0f\n\x07keyType\x18\x04 \x01(\t\x12\x10\n\x08username\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x0c\n\x04lock\x18\x07 \x01(\x05\x12\x0e\n\x06userId\x18\x08 \x01(\x05\x12\x1e\n\x16\x61\x63\x63ountShareExpiration\x18\t \x01(\x03\x12\x10\n\x08\x66ullName\x18\n \x01(\t\x12\x10\n\x08jobTitle\x18\x0b \x01(\t\x12\x12\n\ntfaEnabled\x18\x0c \x01(\x08\x12\x46\n\x18transferAcceptanceStatus\x18\r \x01(\x0e\x32$.Enterprise.TransferAcceptanceStatus\"7\n\tUserAlias\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\"\xac\x01\n\x18\x43omplianceReportMetaData\x12\x11\n\treportUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x12\n\nreportName\x18\x03 \x01(\t\x12\x15\n\rdateGenerated\x18\x04 \x01(\x03\x12\x11\n\trunByName\x18\x05 \x01(\t\x12\x16\n\x0enumberOfOwners\x18\x07 \x01(\x05\x12\x17\n\x0fnumberOfRecords\x18\x08 \x01(\x05\"S\n\x0bManagedNode\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x15\n\rmanagedNodeId\x18\x02 \x01(\x03\x12\x1d\n\x15\x63\x61scadeNodeManagement\x18\x03 \x01(\x08\"T\n\x0fUserManagedNode\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x1d\n\x15\x63\x61scadeNodeManagement\x18\x02 \x01(\x08\x12\x12\n\nprivileges\x18\x03 \x03(\t\"w\n\rUserPrivilege\x12\x35\n\x10userManagedNodes\x18\x01 \x03(\x0b\x32\x1b.Enterprise.UserManagedNode\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\"4\n\x08RoleUser\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"M\n\rRolePrivilege\x12\x15\n\rmanagedNodeId\x18\x01 \x01(\x03\x12\x0e\n\x06roleId\x18\x02 \x01(\x03\x12\x15\n\rprivilegeType\x18\x03 \x01(\t\"T\n\x17PrivilegesByManagedNode\x12\x15\n\rmanagedNodeId\x18\x01 \x01(\x03\x12\x0e\n\x06roleId\x18\x02 \x01(\x03\x12\x12\n\nprivileges\x18\x03 \x03(\t\"I\n\x0fRoleEnforcement\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x17\n\x0f\x65nforcementType\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\xa9\x01\n\x04Team\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x14\n\x0crestrictEdit\x18\x04 \x01(\x08\x12\x15\n\rrestrictShare\x18\x05 \x01(\x08\x12\x14\n\x0crestrictView\x18\x06 \x01(\x08\x12\x15\n\rencryptedData\x18\x07 \x01(\t\x12\x18\n\x10\x65ncryptedTeamKey\x18\x08 \x01(\t\"G\n\x08TeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x10\n\x08userType\x18\x03 \x01(\t\"K\n\x1aGetDistributorInfoResponse\x12-\n\x0c\x64istributors\x18\x01 \x03(\x0b\x32\x17.Enterprise.Distributor\"B\n\x0b\x44istributor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x08mspInfos\x18\x02 \x03(\x0b\x32\x13.Enterprise.MspInfo\"\x9d\x02\n\x07MspInfo\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\x12\x19\n\x11\x61llocatedLicenses\x18\x03 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x04 \x03(\t\x12\x15\n\rallowedAddOns\x18\x05 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x06 \x01(\t\x12\x34\n\x10managedCompanies\x18\x07 \x03(\x0b\x32\x1a.Enterprise.ManagedCompany\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x08 \x01(\x08\x12(\n\x06\x61\x64\x64Ons\x18\t \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\"\xa8\x02\n\x0eManagedCompany\x12\x16\n\x0emcEnterpriseId\x18\x01 \x01(\x05\x12\x18\n\x10mcEnterpriseName\x18\x02 \x01(\t\x12\x11\n\tmspNodeId\x18\x03 \x01(\x03\x12\x15\n\rnumberOfSeats\x18\x04 \x01(\x05\x12\x15\n\rnumberOfUsers\x18\x05 \x01(\x05\x12\x11\n\tproductId\x18\x06 \x01(\t\x12\x11\n\tisExpired\x18\x07 \x01(\x08\x12\x0f\n\x07treeKey\x18\x08 \x01(\t\x12\x15\n\rtree_key_role\x18\t \x01(\x03\x12\x14\n\x0c\x66ilePlanType\x18\n \x01(\t\x12(\n\x06\x61\x64\x64Ons\x18\x0b \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\x12\x15\n\rtreeKeyTypeId\x18\x0c \x01(\x05\"R\n\x07MSPPool\x12\x11\n\tproductId\x18\x01 \x01(\t\x12\r\n\x05seats\x18\x02 \x01(\x05\x12\x16\n\x0e\x61vailableSeats\x18\x03 \x01(\x05\x12\r\n\x05stash\x18\x04 \x01(\x05\":\n\nMSPContact\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\"\x84\x02\n\x0cLicenseAddOn\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x0f\n\x07isTrial\x18\x03 \x01(\x08\x12\x12\n\nexpiration\x18\x04 \x01(\x03\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\r\n\x05seats\x18\x06 \x01(\x05\x12\x16\n\x0e\x61\x63tivationTime\x18\x07 \x01(\x03\x12\x19\n\x11includedInProduct\x18\x08 \x01(\x08\x12\x14\n\x0c\x61piCallCount\x18\t \x01(\x05\x12\x17\n\x0ftierDescription\x18\n \x01(\t\x12\x16\n\x0eseatsAllocated\x18\x0b \x01(\x05\x12\x16\n\x0enhiTierAddOnId\x18\x0c \x01(\x05\"s\n\tMCDefault\x12\x11\n\tmcProduct\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x64\x64Ons\x18\x02 \x03(\t\x12\x14\n\x0c\x66ilePlanType\x18\x03 \x01(\t\x12\x13\n\x0bmaxLicenses\x18\x04 \x01(\x05\x12\x18\n\x10\x66ixedMaxLicenses\x18\x05 \x01(\x08\"\xd2\x01\n\nMSPPermits\x12\x12\n\nrestricted\x18\x01 \x01(\x08\x12\x1a\n\x12maxAllowedLicenses\x18\x02 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x03 \x03(\t\x12\x15\n\rallowedAddOns\x18\x04 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x05 \x01(\t\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x06 \x01(\x08\x12)\n\nmcDefaults\x18\x07 \x03(\x0b\x32\x15.Enterprise.MCDefault\"\xa0\x04\n\x07License\x12\x0c\n\x04paid\x18\x01 \x01(\x08\x12\x15\n\rnumberOfSeats\x18\x02 \x01(\x05\x12\x12\n\nexpiration\x18\x03 \x01(\x03\x12\x14\n\x0clicenseKeyId\x18\x04 \x01(\x05\x12\x15\n\rproductTypeId\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x1b\n\x13\x65nterpriseLicenseId\x18\x07 \x01(\x03\x12\x16\n\x0eseatsAllocated\x18\x08 \x01(\x05\x12\x14\n\x0cseatsPending\x18\t \x01(\x05\x12\x0c\n\x04tier\x18\n \x01(\x05\x12\x16\n\x0e\x66ilePlanTypeId\x18\x0b \x01(\x05\x12\x10\n\x08maxBytes\x18\x0c \x01(\x03\x12\x19\n\x11storageExpiration\x18\r \x01(\x03\x12\x15\n\rlicenseStatus\x18\x0e \x01(\t\x12$\n\x07mspPool\x18\x0f \x03(\x0b\x32\x13.Enterprise.MSPPool\x12)\n\tmanagedBy\x18\x10 \x01(\x0b\x32\x16.Enterprise.MSPContact\x12(\n\x06\x61\x64\x64Ons\x18\x11 \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\x12\x17\n\x0fnextBillingDate\x18\x12 \x01(\x03\x12\x17\n\x0fhasMSPLegacyLog\x18\x13 \x01(\x08\x12*\n\nmspPermits\x18\x14 \x01(\x0b\x32\x16.Enterprise.MSPPermits\x12\x13\n\x0b\x64istributor\x18\x15 \x01(\x08\"n\n\x06\x42ridge\x12\x10\n\x08\x62ridgeId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x18\n\x10wanIpEnforcement\x18\x03 \x01(\t\x12\x18\n\x10lanIpEnforcement\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\"t\n\x04Scim\x12\x0e\n\x06scimId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nlastSynced\x18\x04 \x01(\x03\x12\x12\n\nrolePrefix\x18\x05 \x01(\t\x12\x14\n\x0cuniqueGroups\x18\x06 \x01(\x08\"L\n\x0e\x45mailProvision\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\"R\n\nQueuedTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\"0\n\x0eQueuedTeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\r\n\x05users\x18\x02 \x03(\x03\"\xa4\x01\n\x0eTeamsAddResult\x12\x34\n\x11successfulTeamAdd\x18\x01 \x03(\x0b\x32\x19.Enterprise.TeamAddResult\x12\x36\n\x13unsuccessfulTeamAdd\x18\x02 \x03(\x0b\x32\x19.Enterprise.TeamAddResult\x12\x0e\n\x06result\x18\x03 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x04 \x01(\t\"U\n\rTeamAddResult\x12\x1e\n\x04team\x18\x01 \x01(\x0b\x32\x10.Enterprise.Team\x12\x0e\n\x06result\x18\x02 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x03 \x01(\t\"\x91\x01\n\nSsoService\x12\x1c\n\x14ssoServiceProviderId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06sp_url\x18\x04 \x01(\t\x12\x16\n\x0einviteNewUsers\x18\x05 \x01(\x08\x12\x0e\n\x06\x61\x63tive\x18\x06 \x01(\x08\x12\x0f\n\x07isCloud\x18\x07 \x01(\x08\"1\n\x10ReportFilterUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\r\n\x05\x65mail\x18\x02 \x01(\t\"\x97\x02\n\x1d\x44\x65viceRequestForAdminApproval\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x03 \x01(\x0c\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x12\n\ndeviceName\x18\x05 \x01(\t\x12\x15\n\rclientVersion\x18\x06 \x01(\t\x12\x12\n\ndeviceType\x18\x07 \x01(\t\x12\x0c\n\x04\x64\x61te\x18\x08 \x01(\x03\x12\x11\n\tipAddress\x18\t \x01(\t\x12\x10\n\x08location\x18\n \x01(\t\x12\r\n\x05\x65mail\x18\x0b \x01(\t\x12\x12\n\naccountUid\x18\x0c \x01(\x0c\"`\n\x0e\x45nterpriseData\x12\x30\n\x06\x65ntity\x18\x01 \x01(\x0e\x32 .Enterprise.EnterpriseDataEntity\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x03 \x03(\x0c\"\xd0\x01\n\x16\x45nterpriseDataResponse\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\x12,\n\x0b\x63\x61\x63heStatus\x18\x03 \x01(\x0e\x32\x17.Enterprise.CacheStatus\x12(\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x1a.Enterprise.EnterpriseData\x12\x32\n\x0bgeneralData\x18\x05 \x01(\x0b\x32\x1d.Enterprise.GeneralDataEntity\"*\n\rBackupRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\x98\x01\n\x0c\x42\x61\x63kupRecord\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0b\n\x03key\x18\x03 \x01(\x0c\x12*\n\x07keyType\x18\x04 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\r\n\x05\x65xtra\x18\x07 \x01(\x0c\".\n\tBackupKey\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\tbackupKey\x18\x02 \x01(\x0c\"\x8d\x02\n\nBackupUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x61taKey\x18\x03 \x01(\x0c\x12\x36\n\x0b\x64\x61taKeyType\x18\x04 \x01(\x0e\x32!.Enterprise.BackupUserDataKeyType\x12\x12\n\nprivateKey\x18\x05 \x01(\x0c\x12\x0f\n\x07treeKey\x18\x06 \x01(\x0c\x12.\n\x0btreeKeyType\x18\x07 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\x12)\n\nbackupKeys\x18\x08 \x03(\x0b\x32\x15.Enterprise.BackupKey\x12\x14\n\x0cprivateECKey\x18\t \x01(\x0c\"\x9e\x01\n\x0e\x42\x61\x63kupResponse\x12\x1f\n\x17\x65nterpriseEccPrivateKey\x18\x01 \x01(\x0c\x12%\n\x05users\x18\x02 \x03(\x0b\x32\x16.Enterprise.BackupUser\x12)\n\x07records\x18\x03 \x03(\x0b\x32\x18.Enterprise.BackupRecord\x12\x19\n\x11\x63ontinuationToken\x18\x04 \x01(\x0c\"e\n\nBackupFile\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x11\n\tbackupUid\x18\x02 \x01(\x0c\x12\x10\n\x08\x66ileName\x18\x03 \x01(\t\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\x12\x13\n\x0b\x64ownloadUrl\x18\x05 \x01(\t\"8\n\x0f\x42\x61\x63kupsResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Enterprise.BackupFile\".\n\x1cGetEnterpriseDataKeysRequest\x12\x0e\n\x06roleId\x18\x01 \x03(\x03\"\xff\x01\n\x1dGetEnterpriseDataKeysResponse\x12:\n\x12reEncryptedRoleKey\x18\x01 \x03(\x0b\x32\x1e.Enterprise.ReEncryptedRoleKey\x12$\n\x07roleKey\x18\x02 \x03(\x0b\x32\x13.Enterprise.RoleKey\x12\"\n\x06mspKey\x18\x03 \x01(\x0b\x32\x12.Enterprise.MspKey\x12\x32\n\x0e\x65nterpriseKeys\x18\x04 \x01(\x0b\x32\x1a.Enterprise.EnterpriseKeys\x12$\n\x07treeKey\x18\x05 \x01(\x0b\x32\x13.Enterprise.TreeKey\"^\n\x07RoleKey\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x14\n\x0c\x65ncryptedKey\x18\x02 \x01(\t\x12-\n\x07keyType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"d\n\x06MspKey\x12\x1b\n\x13\x65ncryptedMspTreeKey\x18\x01 \x01(\t\x12=\n\x17\x65ncryptedMspTreeKeyType\x18\x02 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"|\n\x0e\x45nterpriseKeys\x12\x14\n\x0crsaPublicKey\x18\x01 \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x02 \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\x03 \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x04 \x01(\x0c\"H\n\x07TreeKey\x12\x0f\n\x07treeKey\x18\x01 \x01(\t\x12,\n\tkeyTypeId\x18\x02 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\"E\n\x14SharedRecordResponse\x12-\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1d.Enterprise.SharedRecordEvent\"p\n\x11SharedRecordEvent\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61nEdit\x18\x03 \x01(\x08\x12\x12\n\ncanReshare\x18\x04 \x01(\x08\x12\x11\n\tshareFrom\x18\x05 \x01(\x05\".\n\x1cSetRestrictVisibilityRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\"\xd0\x01\n\x0eUserAddRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12-\n\x07keyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x05 \x01(\t\x12\x10\n\x08jobTitle\x18\x06 \x01(\t\x12\r\n\x05\x65mail\x18\x07 \x01(\t\x12\x1b\n\x13suppressEmailInvite\x18\x08 \x01(\x08\":\n\x11UserUpdateRequest\x12%\n\x05users\x18\x01 \x03(\x0b\x32\x16.Enterprise.UserUpdate\"\xaf\x01\n\nUserUpdate\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12-\n\x07keyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x05 \x01(\t\x12\x10\n\x08jobTitle\x18\x06 \x01(\t\x12\r\n\x05\x65mail\x18\x07 \x01(\t\"A\n\x12UserUpdateResponse\x12+\n\x05users\x18\x01 \x03(\x0b\x32\x1c.Enterprise.UserUpdateResult\"Z\n\x10UserUpdateResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.Enterprise.UserUpdateStatus\"J\n\x1d\x43omplianceRecordOwnersRequest\x12\x0f\n\x07nodeIds\x18\x01 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x02 \x01(\x08\"O\n\x1e\x43omplianceRecordOwnersResponse\x12-\n\x0crecordOwners\x18\x01 \x03(\x0b\x32\x17.Enterprise.RecordOwner\"7\n\x0bRecordOwner\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06shared\x18\x02 \x01(\x08\"\xa6\x01\n PreliminaryComplianceDataRequest\x12\x19\n\x11\x65nterpriseUserIds\x18\x01 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x02 \x01(\x08\x12\x19\n\x11\x63ontinuationToken\x18\x03 \x01(\x0c\x12\x32\n*includeTotalMatchingRecordsInFirstResponse\x18\x04 \x01(\x08\"\x9f\x01\n!PreliminaryComplianceDataResponse\x12\x30\n\rauditUserData\x18\x01 \x03(\x0b\x32\x19.Enterprise.AuditUserData\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\x12\x0f\n\x07hasMore\x18\x03 \x01(\x08\x12\x1c\n\x14totalMatchingRecords\x18\x04 \x01(\x05\"K\n\x0f\x41uditUserRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12\x0e\n\x06shared\x18\x03 \x01(\x08\"\x8d\x01\n\rAuditUserData\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x35\n\x10\x61uditUserRecords\x18\x02 \x03(\x0b\x32\x1b.Enterprise.AuditUserRecord\x12+\n\x06status\x18\x03 \x01(\x0e\x32\x1b.Enterprise.AuditUserStatus\"\x7f\n\x17\x43omplianceReportFilters\x12\x14\n\x0crecordTitles\x18\x01 \x03(\t\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\x12\x11\n\tjobTitles\x18\x03 \x03(\x03\x12\x0c\n\x04urls\x18\x04 \x03(\t\x12\x19\n\x11\x65nterpriseUserIds\x18\x05 \x03(\x03\"\x7f\n\x17\x43omplianceReportRequest\x12<\n\x13\x63omplianceReportRun\x18\x01 \x01(\x0b\x32\x1f.Enterprise.ComplianceReportRun\x12\x12\n\nreportName\x18\x02 \x01(\t\x12\x12\n\nsaveReport\x18\x03 \x01(\x08\"\x85\x01\n\x13\x43omplianceReportRun\x12N\n\x17reportCriteriaAndFilter\x18\x01 \x01(\x0b\x32-.Enterprise.ComplianceReportCriteriaAndFilter\x12\r\n\x05users\x18\x02 \x03(\x03\x12\x0f\n\x07records\x18\x03 \x03(\x0c\"\xfc\x01\n!ComplianceReportCriteriaAndFilter\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x63riteriaUid\x18\x02 \x01(\x0c\x12\x14\n\x0c\x63riteriaName\x18\x03 \x01(\t\x12\x36\n\x08\x63riteria\x18\x04 \x01(\x0b\x32$.Enterprise.ComplianceReportCriteria\x12\x33\n\x07\x66ilters\x18\x05 \x03(\x0b\x32\".Enterprise.ComplianceReportFilter\x12\x14\n\x0clastModified\x18\x06 \x01(\x03\x12\x19\n\x11nodeEncryptedData\x18\x07 \x01(\x0c\"b\n\x18\x43omplianceReportCriteria\x12\x11\n\tjobTitles\x18\x01 \x03(\t\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x03 \x01(\x08\"x\n\x16\x43omplianceReportFilter\x12\x14\n\x0crecordTitles\x18\x01 \x03(\t\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\x12\x11\n\tjobTitles\x18\x03 \x03(\t\x12\x0c\n\x04urls\x18\x04 \x03(\t\x12\x13\n\x0brecordTypes\x18\x05 \x03(\t\"\xa1\x05\n\x18\x43omplianceReportResponse\x12\x15\n\rdateGenerated\x18\x01 \x01(\x03\x12\x15\n\rrunByUserName\x18\x02 \x01(\t\x12\x12\n\nreportName\x18\x03 \x01(\t\x12\x11\n\treportUid\x18\x04 \x01(\x0c\x12<\n\x13\x63omplianceReportRun\x18\x05 \x01(\x0b\x32\x1f.Enterprise.ComplianceReportRun\x12-\n\x0cuserProfiles\x18\x06 \x03(\x0b\x32\x17.Enterprise.UserProfile\x12)\n\nauditTeams\x18\x07 \x03(\x0b\x32\x15.Enterprise.AuditTeam\x12-\n\x0c\x61uditRecords\x18\x08 \x03(\x0b\x32\x17.Enterprise.AuditRecord\x12+\n\x0buserRecords\x18\t \x03(\x0b\x32\x16.Enterprise.UserRecord\x12;\n\x13sharedFolderRecords\x18\n \x03(\x0b\x32\x1e.Enterprise.SharedFolderRecord\x12\x37\n\x11sharedFolderUsers\x18\x0b \x03(\x0b\x32\x1c.Enterprise.SharedFolderUser\x12\x37\n\x11sharedFolderTeams\x18\x0c \x03(\x0b\x32\x1c.Enterprise.SharedFolderTeam\x12\x31\n\x0e\x61uditTeamUsers\x18\r \x03(\x0b\x32\x19.Enterprise.AuditTeamUser\x12)\n\nauditRoles\x18\x0e \x03(\x0b\x32\x15.Enterprise.AuditRole\x12/\n\rlinkedRecords\x18\x0f \x03(\x0b\x32\x18.Enterprise.LinkedRecord\"\x81\x01\n\x0b\x41uditRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\tauditData\x18\x02 \x01(\x0c\x12\x16\n\x0ehasAttachments\x18\x03 \x01(\x08\x12\x0f\n\x07inTrash\x18\x04 \x01(\x08\x12\x10\n\x08treeLeft\x18\x05 \x01(\x05\x12\x11\n\ttreeRight\x18\x06 \x01(\x05\"\x80\x02\n\tAuditRole\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12&\n\x1erestrictShareOutsideEnterprise\x18\x03 \x01(\x08\x12\x18\n\x10restrictShareAll\x18\x04 \x01(\x08\x12\"\n\x1arestrictShareOfAttachments\x18\x05 \x01(\x08\x12)\n!restrictMaskPasswordsWhileEditing\x18\x06 \x01(\x08\x12;\n\x13roleNodeManagements\x18\x07 \x03(\x0b\x32\x1e.Enterprise.RoleNodeManagement\"^\n\x12RoleNodeManagement\x12\x10\n\x08treeLeft\x18\x01 \x01(\x05\x12\x11\n\ttreeRight\x18\x02 \x01(\x05\x12\x0f\n\x07\x63\x61scade\x18\x03 \x01(\x08\x12\x12\n\nprivileges\x18\x04 \x01(\x05\"k\n\x0bUserProfile\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x10\n\x08jobTitle\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x0f\n\x07roleIds\x18\x05 \x03(\x03\"=\n\x10RecordPermission\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x16\n\x0epermissionBits\x18\x02 \x01(\x05\"_\n\nUserRecord\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x37\n\x11recordPermissions\x18\x02 \x03(\x0b\x32\x1c.Enterprise.RecordPermission\"[\n\tAuditTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamName\x18\x02 \x01(\t\x12\x14\n\x0crestrictEdit\x18\x03 \x01(\x08\x12\x15\n\rrestrictShare\x18\x04 \x01(\x08\";\n\rAuditTeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"\x9f\x01\n\x12SharedFolderRecord\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x37\n\x11recordPermissions\x18\x02 \x03(\x0b\x32\x1c.Enterprise.RecordPermission\x12\x37\n\x11shareAdminRecords\x18\x03 \x03(\x0b\x32\x1c.Enterprise.ShareAdminRecord\"M\n\x10ShareAdminRecord\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1f\n\x17recordPermissionIndexes\x18\x02 \x03(\x05\"F\n\x10SharedFolderUser\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"=\n\x10SharedFolderTeam\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamUids\x18\x02 \x03(\x0c\"/\n\x1aGetComplianceReportRequest\x12\x11\n\treportUid\x18\x01 \x01(\x0c\"2\n\x1bGetComplianceReportResponse\x12\x13\n\x0b\x64ownloadUrl\x18\x01 \x01(\t\"6\n\x1f\x43omplianceReportCriteriaRequest\x12\x13\n\x0b\x63riteriaUid\x18\x01 \x01(\x0c\";\n$SaveComplianceReportCriteriaResponse\x12\x13\n\x0b\x63riteriaUid\x18\x01 \x01(\x0c\"4\n\x0cLinkedRecord\x12\x10\n\x08ownerUid\x18\x01 \x01(\x0c\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\"W\n\x17GetSharingAdminsRequest\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x10\n\x08username\x18\x03 \x01(\t\"\xe0\x01\n\x0eUserProfileExt\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x10\n\x08jobTitle\x18\x03 \x01(\t\x12\x14\n\x0cisMSPMCAdmin\x18\x04 \x01(\x08\x12\x18\n\x10isInSharedFolder\x18\x05 \x01(\x08\x12&\n\x1eisShareAdminForRequestedObject\x18\x06 \x01(\x08\x12(\n isShareAdminForSharedFolderOwner\x18\x07 \x01(\x08\x12\x19\n\x11hasAccessToObject\x18\x08 \x01(\x08\"O\n\x18GetSharingAdminsResponse\x12\x33\n\x0fuserProfileExts\x18\x01 \x03(\x0b\x32\x1a.Enterprise.UserProfileExt\"_\n\x1eTeamsEnterpriseUsersAddRequest\x12=\n\x05teams\x18\x01 \x03(\x0b\x32..Enterprise.TeamsEnterpriseUsersAddTeamRequest\"t\n\"TeamsEnterpriseUsersAddTeamRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12=\n\x05users\x18\x02 \x03(\x0b\x32..Enterprise.TeamsEnterpriseUsersAddUserRequest\"\xab\x01\n\"TeamsEnterpriseUsersAddUserRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12*\n\x08userType\x18\x02 \x01(\x0e\x32\x18.Enterprise.TeamUserType\x12\x13\n\x07teamKey\x18\x03 \x01(\tB\x02\x18\x01\x12*\n\x0ctypedTeamKey\x18\x04 \x01(\x0b\x32\x14.Enterprise.TypedKey\"F\n\x08TypedKey\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12-\n\x07keyType\x18\x02 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"s\n\x1fTeamsEnterpriseUsersAddResponse\x12>\n\x05teams\x18\x01 \x03(\x0b\x32/.Enterprise.TeamsEnterpriseUsersAddTeamResponse\x12\x10\n\x08revision\x18\x02 \x01(\x03\"\xc4\x01\n#TeamsEnterpriseUsersAddTeamResponse\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12>\n\x05users\x18\x02 \x03(\x0b\x32/.Enterprise.TeamsEnterpriseUsersAddUserResponse\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x12\n\nresultCode\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"\x9f\x01\n#TeamsEnterpriseUsersAddUserResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x12\n\nresultCode\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"E\n\x18TeamEnterpriseUserRemove\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"j\n TeamEnterpriseUserRemovesRequest\x12\x46\n\x18teamEnterpriseUserRemove\x18\x01 \x03(\x0b\x32$.Enterprise.TeamEnterpriseUserRemove\"{\n!TeamEnterpriseUserRemovesResponse\x12V\n teamEnterpriseUserRemoveResponse\x18\x01 \x03(\x0b\x32,.Enterprise.TeamEnterpriseUserRemoveResponse\"\xb8\x01\n TeamEnterpriseUserRemoveResponse\x12\x46\n\x18teamEnterpriseUserRemove\x18\x01 \x01(\x0b\x32$.Enterprise.TeamEnterpriseUserRemove\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nresultCode\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x05 \x01(\t\"M\n\x0b\x44omainAlias\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0f\n\x07message\x18\x04 \x01(\t\"B\n\x12\x44omainAliasRequest\x12,\n\x0b\x64omainAlias\x18\x01 \x03(\x0b\x32\x17.Enterprise.DomainAlias\"C\n\x13\x44omainAliasResponse\x12,\n\x0b\x64omainAlias\x18\x01 \x03(\x0b\x32\x17.Enterprise.DomainAlias\"m\n\x1f\x45nterpriseUsersProvisionRequest\x12\x33\n\x05users\x18\x01 \x03(\x0b\x32$.Enterprise.EnterpriseUsersProvision\x12\x15\n\rclientVersion\x18\x02 \x01(\t\"\xb6\x03\n\x18\x45nterpriseUsersProvision\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x06 \x01(\t\x12\x10\n\x08jobTitle\x18\x07 \x01(\t\x12\x1e\n\x16\x65nterpriseUsersDataKey\x18\x08 \x01(\x0c\x12\x14\n\x0c\x61uthVerifier\x18\t \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\n \x01(\x0c\x12\x14\n\x0crsaPublicKey\x18\x0b \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x0c \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\r \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x0e \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x0f \x01(\x0c\x12\x1a\n\x12\x65ncryptedClientKey\x18\x10 \x01(\x0c\"_\n EnterpriseUsersProvisionResponse\x12;\n\x07results\x18\x01 \x03(\x0b\x32*.Enterprise.EnterpriseUsersProvisionResult\"q\n\x1e\x45nterpriseUsersProvisionResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x04 \x01(\t\"a\n\x19\x45nterpriseUsersAddRequest\x12-\n\x05users\x18\x01 \x03(\x0b\x32\x1e.Enterprise.EnterpriseUsersAdd\x12\x15\n\rclientVersion\x18\x02 \x01(\t\"\x8c\x02\n\x12\x45nterpriseUsersAdd\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x06 \x01(\t\x12\x10\n\x08jobTitle\x18\x07 \x01(\t\x12\x1b\n\x13suppressEmailInvite\x18\x08 \x01(\x08\x12\x15\n\rinviteeLocale\x18\t \x01(\t\x12\x0c\n\x04move\x18\n \x01(\x08\x12\x0e\n\x06roleId\x18\x0b \x01(\x03\"\x9b\x01\n\x1a\x45nterpriseUsersAddResponse\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.Enterprise.EnterpriseUsersAddResult\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x05 \x01(\t\"\x96\x01\n\x18\x45nterpriseUsersAddResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"\xb9\x01\n\x17UpdateMSPPermitsRequest\x12\x17\n\x0fmspEnterpriseId\x18\x01 \x01(\x05\x12\x1a\n\x12maxAllowedLicenses\x18\x02 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x03 \x03(\t\x12\x15\n\rallowedAddOns\x18\x04 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x05 \x01(\t\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x06 \x01(\x08\"9\n\x1c\x44\x65leteEnterpriseUsersRequest\x12\x19\n\x11\x65nterpriseUserIds\x18\x01 \x03(\x03\"o\n\x1a\x44\x65leteEnterpriseUserStatus\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.Enterprise.DeleteEnterpriseUsersResult\"]\n\x1d\x44\x65leteEnterpriseUsersResponse\x12<\n\x0c\x64\x65leteStatus\x18\x01 \x03(\x0b\x32&.Enterprise.DeleteEnterpriseUserStatus\"w\n\x18\x43learSecurityDataRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\x12\x10\n\x08\x61llUsers\x18\x02 \x01(\x08\x12/\n\x04type\x18\x03 \x01(\x0e\x32!.Enterprise.ClearSecurityDataType\"%\n\x13ListDomainsResponse\x12\x0e\n\x06\x64omain\x18\x01 \x03(\t\"d\n\x14ReserveDomainRequest\x12<\n\x13reserveDomainAction\x18\x01 \x01(\x0e\x32\x1f.Enterprise.ReserveDomainAction\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"&\n\x15ReserveDomainResponse\x12\r\n\x05token\x18\x01 \x01(\t\".\n\x0bRolesByTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0e\n\x06roleId\x18\x02 \x03(\x03\"\x8d\x01\n\x10LockUsersRequest\x12\x1d\n\x15lockEnterpriseUserIds\x18\x01 \x03(\x03\x12 \n\x18\x64isableEnterpriseUserIds\x18\x02 \x03(\x03\x12\x1f\n\x17unlockEnterpriseUserIds\x18\x03 \x03(\x03\x12\x17\n\x0f\x64\x65leteIfPending\x18\x04 \x01(\x08\"C\n\x11LockUsersResponse\x12.\n\x08response\x18\x01 \x03(\x0b\x32\x1c.Enterprise.LockUserResponse\"n\n\x10LockUserResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Enterprise.UserLockStatus\x12\x14\n\x0c\x65rrorMessage\x18\x03 \x01(\t*\x1b\n\x07KeyType\x12\x07\n\x03RSA\x10\x00\x12\x07\n\x03\x45\x43\x43\x10\x01*\x9a\x02\n\x14RoleUserModifyStatus\x12\x0f\n\x0bROLE_EXISTS\x10\x00\x12\x14\n\x10MISSING_TREE_KEY\x10\x01\x12\x14\n\x10MISSING_ROLE_KEY\x10\x02\x12\x1e\n\x1aINVALID_ENTERPRISE_USER_ID\x10\x03\x12\x1b\n\x17PENDING_ENTERPRISE_USER\x10\x04\x12\x13\n\x0fINVALID_NODE_ID\x10\x05\x12!\n\x1dMAY_NOT_REMOVE_SELF_FROM_ROLE\x10\x06\x12\x1c\n\x18MUST_HAVE_ONE_USER_ADMIN\x10\x07\x12\x13\n\x0fINVALID_ROLE_ID\x10\x08\x12\x1d\n\x19PAM_LICENSE_SEAT_EXCEEDED\x10\t*=\n\x0e\x45nterpriseType\x12\x17\n\x13\x45NTERPRISE_STANDARD\x10\x00\x12\x12\n\x0e\x45NTERPRISE_MSP\x10\x01*s\n\x18TransferAcceptanceStatus\x12\r\n\tUNDEFINED\x10\x00\x12\x10\n\x0cNOT_REQUIRED\x10\x01\x12\x10\n\x0cNOT_ACCEPTED\x10\x02\x12\x16\n\x12PARTIALLY_ACCEPTED\x10\x03\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x04*\xe1\x03\n\x14\x45nterpriseDataEntity\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05NODES\x10\x01\x12\t\n\x05ROLES\x10\x02\x12\t\n\x05USERS\x10\x03\x12\t\n\x05TEAMS\x10\x04\x12\x0e\n\nTEAM_USERS\x10\x05\x12\x0e\n\nROLE_USERS\x10\x06\x12\x13\n\x0fROLE_PRIVILEGES\x10\x07\x12\x15\n\x11ROLE_ENFORCEMENTS\x10\x08\x12\x0e\n\nROLE_TEAMS\x10\t\x12\x0c\n\x08LICENSES\x10\n\x12\x11\n\rMANAGED_NODES\x10\x0b\x12\x15\n\x11MANAGED_COMPANIES\x10\x0c\x12\x0b\n\x07\x42RIDGES\x10\r\x12\t\n\x05SCIMS\x10\x0e\x12\x13\n\x0f\x45MAIL_PROVISION\x10\x0f\x12\x10\n\x0cQUEUED_TEAMS\x10\x10\x12\x15\n\x11QUEUED_TEAM_USERS\x10\x11\x12\x10\n\x0cSSO_SERVICES\x10\x12\x12\x17\n\x13REPORT_FILTER_USERS\x10\x13\x12&\n\"DEVICES_REQUEST_FOR_ADMIN_APPROVAL\x10\x14\x12\x10\n\x0cUSER_ALIASES\x10\x15\x12)\n%COMPLIANCE_REPORT_CRITERIA_AND_FILTER\x10\x16\x12\x16\n\x12\x43OMPLIANCE_REPORTS\x10\x17*\"\n\x0b\x43\x61\x63heStatus\x12\x08\n\x04KEEP\x10\x00\x12\t\n\x05\x43LEAR\x10\x01*\x93\x01\n\rBackupKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x19\n\x15\x45NCRYPTED_BY_DATA_KEY\x10\x01\x12\x1b\n\x17\x45NCRYPTED_BY_PUBLIC_KEY\x10\x02\x12\x1d\n\x19\x45NCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\x1f\n\x1b\x45NCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04*:\n\x15\x42\x61\x63kupUserDataKeyType\x12\x07\n\x03OWN\x10\x00\x12\x18\n\x14SHARED_TO_ENTERPRISE\x10\x01*\xa5\x01\n\x10\x45ncryptedKeyType\x12\r\n\tKT_NO_KEY\x10\x00\x12\x1c\n\x18KT_ENCRYPTED_BY_DATA_KEY\x10\x01\x12\x1e\n\x1aKT_ENCRYPTED_BY_PUBLIC_KEY\x10\x02\x12 \n\x1cKT_ENCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\"\n\x1eKT_ENCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04*\xb7\x02\n\x12\x45nterpriseFlagType\x12\x0b\n\x07INVALID\x10\x00\x12\x1a\n\x16\x41LLOW_PERSONAL_LICENSE\x10\x01\x12\x18\n\x14SPECIAL_PROVISIONING\x10\x02\x12\x10\n\x0cRECORD_TYPES\x10\x03\x12\x13\n\x0fSECRETS_MANAGER\x10\x04\x12\x15\n\x11\x45NTERPRISE_LOCKED\x10\x05\x12\x15\n\x11\x46ORBID_KEY_TYPE_2\x10\x06\x12\x15\n\x11\x43ONSOLE_ONBOARDED\x10\x07\x12\x1b\n\x17\x46ORBID_ACCOUNT_TRANSFER\x10\x08\x12\x15\n\x11NPS_POPUP_OPT_OUT\x10\t\x12\x15\n\x11SHOW_USER_ONBOARD\x10\n\x12\x15\n\x11\x46ORBID_KEY_TYPE_1\x10\x0b\x12\x10\n\x0cKEEPER_DRIVE\x10\x0c*E\n\x10UserUpdateStatus\x12\x12\n\x0eUSER_UPDATE_OK\x10\x00\x12\x1d\n\x19USER_UPDATE_ACCESS_DENIED\x10\x01*I\n\x0f\x41uditUserStatus\x12\x06\n\x02OK\x10\x00\x12\x11\n\rACCESS_DENIED\x10\x01\x12\x1b\n\x17NO_LONGER_IN_ENTERPRISE\x10\x02*3\n\x0cTeamUserType\x12\x08\n\x04USER\x10\x00\x12\t\n\x05\x41\x44MIN\x10\x01\x12\x0e\n\nADMIN_ONLY\x10\x02*x\n\rAppClientType\x12\x0c\n\x08NOT_USED\x10\x00\x12\x0b\n\x07GENERAL\x10\x01\x12%\n!DISCOVERY_AND_ROTATION_CONTROLLER\x10\x02\x12\x12\n\x0eKCM_CONTROLLER\x10\x03\x12\x11\n\rSELF_DESTRUCT\x10\x04*\x8f\x01\n\x1b\x44\x65leteEnterpriseUsersResult\x12\x0b\n\x07SUCCESS\x10\x00\x12\x1a\n\x16NOT_AN_ENTERPRISE_USER\x10\x01\x12\x16\n\x12\x43\x41NNOT_DELETE_SELF\x10\x02\x12$\n BRIDGE_CANNOT_DELETE_ACTIVE_USER\x10\x03\x12\t\n\x05\x45RROR\x10\x04*\x87\x01\n\x15\x43learSecurityDataType\x12\x1e\n\x1aRECALCULATE_SUMMARY_REPORT\x10\x00\x12\'\n#FORCE_CLIENT_CHECK_FOR_MISSING_DATA\x10\x01\x12%\n!FORCE_CLIENT_RESEND_SECURITY_DATA\x10\x02*J\n\x13ReserveDomainAction\x12\x10\n\x0c\x44OMAIN_TOKEN\x10\x00\x12\x0e\n\nDOMAIN_ADD\x10\x01\x12\x11\n\rDOMAIN_DELETE\x10\x02*s\n\x0eUserLockStatus\x12\x17\n\x13UNKNOWN_LOCK_STATUS\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0c\n\x08UNLOCKED\x10\x03\x12\x0b\n\x07\x44\x45LETED\x10\x04\x12\x13\n\x0f\x43\x41NT_BE_PENDING\x10\x05*\x80\x01\n\x1d\x45xternalCloudSecretsStoreType\x12\x16\n\x12UNKNOWN_STORE_TYPE\x10\x00\x12\x17\n\x13\x41WS_SECRETS_MANAGER\x10\x01\x12\x13\n\x0f\x41ZURE_KEY_VAULT\x10\x02\x12\x19\n\x15GOOGLE_SECRET_MANAGER\x10\x03\x42&\n\x18\x63om.keepersecurity.protoB\nEnterpriseb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65nterprise.proto\x12\nEnterprise\x1a\x0c\x66older.proto\"\x84\x01\n\x18\x45nterpriseKeyPairRequest\x12\x1b\n\x13\x65nterprisePublicKey\x18\x01 \x01(\x0c\x12%\n\x1d\x65ncryptedEnterprisePrivateKey\x18\x02 \x01(\x0c\x12$\n\x07keyType\x18\x03 \x01(\x0e\x32\x13.Enterprise.KeyType\"\'\n\x14GetTeamMemberRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\"}\n\x0e\x45nterpriseUser\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x1a\n\x12\x65nterpriseUsername\x18\x03 \x01(\t\x12\x14\n\x0cisShareAdmin\x18\x04 \x01(\x08\x12\x10\n\x08username\x18\x05 \x01(\t\"K\n\x15GetTeamMemberResponse\x12\x32\n\x0e\x65nterpriseUser\x18\x01 \x03(\x0b\x32\x1a.Enterprise.EnterpriseUser\"-\n\x11\x45nterpriseUserIds\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\"B\n\x19\x45nterprisePersonalAccount\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x16\n\x0eOBSOLETE_FIELD\x18\x02 \x01(\x0c\"S\n\x17\x45ncryptedTeamKeyRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptedTeamKey\x18\x02 \x01(\x0c\x12\r\n\x05\x66orce\x18\x03 \x01(\x08\"+\n\x0fReEncryptedData\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"?\n\x12ReEncryptedRoleKey\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x18\n\x10\x65ncryptedRoleKey\x18\x02 \x01(\x0c\"P\n\x16ReEncryptedUserDataKey\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\"\xd8\x02\n\x1bNodeToManagedCompanyRequest\x12\x11\n\tcompanyId\x18\x01 \x01(\x05\x12*\n\x05nodes\x18\x02 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12*\n\x05roles\x18\x03 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12*\n\x05users\x18\x04 \x03(\x0b\x32\x1b.Enterprise.ReEncryptedData\x12\x30\n\x08roleKeys\x18\x05 \x03(\x0b\x32\x1e.Enterprise.ReEncryptedRoleKey\x12\x35\n\x08teamKeys\x18\x06 \x03(\x0b\x32#.Enterprise.EncryptedTeamKeyRequest\x12\x39\n\rusersDataKeys\x18\x07 \x03(\x0b\x32\".Enterprise.ReEncryptedUserDataKey\",\n\x08RoleTeam\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x0f\n\x07teamUid\x18\x02 \x01(\x0c\"4\n\tRoleTeams\x12\'\n\trole_team\x18\x01 \x03(\x0b\x32\x14.Enterprise.RoleTeam\"/\n\x0bTeamsByRole\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\"<\n\x12ManagedNodesByRole\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x15\n\rmanagedNodeId\x18\x02 \x03(\x03\"\x82\x01\n\x0fRoleUserAddKeys\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x13\n\x07treeKey\x18\x02 \x01(\tB\x02\x18\x01\x12\x14\n\x0croleAdminKey\x18\x03 \x01(\t\x12*\n\x0ctypedTreeKey\x18\x04 \x01(\x0b\x32\x14.Enterprise.TypedKey\"T\n\x0bRoleUserAdd\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x34\n\x0froleUserAddKeys\x18\x02 \x03(\x0b\x32\x1b.Enterprise.RoleUserAddKeys\"D\n\x13RoleUsersAddRequest\x12-\n\x0croleUserAdds\x18\x01 \x03(\x0b\x32\x17.Enterprise.RoleUserAdd\"\x80\x01\n\x11RoleUserAddResult\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x30\n\x06status\x18\x03 \x01(\x0e\x32 .Enterprise.RoleUserModifyStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\"F\n\x14RoleUsersAddResponse\x12.\n\x07results\x18\x01 \x03(\x0b\x32\x1d.Enterprise.RoleUserAddResult\"<\n\x0eRoleUserRemove\x12\x0f\n\x07role_id\x18\x01 \x01(\x03\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"M\n\x16RoleUsersRemoveRequest\x12\x33\n\x0froleUserRemoves\x18\x01 \x03(\x0b\x32\x1a.Enterprise.RoleUserRemove\"\x83\x01\n\x14RoleUserRemoveResult\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x30\n\x06status\x18\x03 \x01(\x0e\x32 .Enterprise.RoleUserModifyStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\"L\n\x17RoleUsersRemoveResponse\x12\x31\n\x07results\x18\x01 \x03(\x0b\x32 .Enterprise.RoleUserRemoveResult\"\xa0\x04\n\x16\x45nterpriseRegistration\x12\x18\n\x10\x65ncryptedTreeKey\x18\x01 \x01(\x0c\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\x12\x14\n\x0crootNodeData\x18\x03 \x01(\x0c\x12\x15\n\radminUserData\x18\x04 \x01(\x0c\x12\x11\n\tadminName\x18\x05 \x01(\t\x12\x10\n\x08roleData\x18\x06 \x01(\x0c\x12\x38\n\nrsaKeyPair\x18\x07 \x01(\x0b\x32$.Enterprise.EnterpriseKeyPairRequest\x12\x13\n\x0bnumberSeats\x18\x08 \x01(\x05\x12\x32\n\x0e\x65nterpriseType\x18\t \x01(\x0e\x32\x1a.Enterprise.EnterpriseType\x12\x15\n\rrolePublicKey\x18\n \x01(\x0c\x12*\n\"rolePrivateKeyEncryptedWithRoleKey\x18\x0b \x01(\x0c\x12#\n\x1broleKeyEncryptedWithTreeKey\x18\x0c \x01(\x0c\x12\x38\n\neccKeyPair\x18\r \x01(\x0b\x32$.Enterprise.EnterpriseKeyPairRequest\x12\x18\n\x10\x61llUsersRoleData\x18\x0e \x01(\x0c\x12)\n!roleKeyEncryptedWithUserPublicKey\x18\x0f \x01(\x0c\x12\x18\n\x10\x61pproverRoleData\x18\x10 \x01(\x0c\"H\n\x1a\x44omainPasswordRulesRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x18\n\x10verificationCode\x18\x02 \x01(\t\"\\\n\x19\x44omainPasswordRulesFields\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07minimum\x18\x02 \x01(\x05\x12\x0f\n\x07maximum\x18\x03 \x01(\x05\x12\x0f\n\x07\x61llowed\x18\x04 \x01(\x08\"E\n\x10LoginToMcRequest\x12\x16\n\x0emcEnterpriseId\x18\x01 \x01(\x05\x12\x19\n\x11messageSessionUid\x18\x02 \x01(\x0c\"w\n\x11LoginToMcResponse\x12\x1d\n\x15\x65ncryptedSessionToken\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncryptedTreeKey\x18\x02 \x01(\t\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\x12\x16\n\x0e\x66orbidKeyType2\x18\x04 \x01(\x08\"g\n\x1b\x44omainPasswordRulesResponse\x12H\n\x19\x64omainPasswordRulesFields\x18\x01 \x03(\x0b\x32%.Enterprise.DomainPasswordRulesFields\"\x88\x01\n\x18\x41pproveUserDeviceRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\x12\x1e\n\x16\x65ncryptedDeviceDataKey\x18\x03 \x01(\x0c\x12\x14\n\x0c\x64\x65nyApproval\x18\x04 \x01(\x08\"t\n\x19\x41pproveUserDeviceResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x02 \x01(\x0c\x12\x0e\n\x06\x66\x61iled\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\"Y\n\x19\x41pproveUserDevicesRequest\x12<\n\x0e\x64\x65viceRequests\x18\x01 \x03(\x0b\x32$.Enterprise.ApproveUserDeviceRequest\"\\\n\x1a\x41pproveUserDevicesResponse\x12>\n\x0f\x64\x65viceResponses\x18\x01 \x03(\x0b\x32%.Enterprise.ApproveUserDeviceResponse\"\x87\x01\n\x15\x45nterpriseUserDataKey\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\x12\x0f\n\x07roleKey\x18\x04 \x01(\x0c\x12\x12\n\nprivateKey\x18\x05 \x01(\x0c\"I\n\x16\x45nterpriseUserDataKeys\x12/\n\x04keys\x18\x01 \x03(\x0b\x32!.Enterprise.EnterpriseUserDataKey\"g\n\x1a\x45nterpriseUserDataKeyLight\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1c\n\x14userEncryptedDataKey\x18\x02 \x01(\x0c\x12\x11\n\tkeyTypeId\x18\x03 \x01(\x05\"d\n\x1c\x45nterpriseUserDataKeysByNode\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x34\n\x04keys\x18\x02 \x03(\x0b\x32&.Enterprise.EnterpriseUserDataKeyLight\"^\n$EnterpriseUserDataKeysByNodeResponse\x12\x36\n\x04keys\x18\x01 \x03(\x0b\x32(.Enterprise.EnterpriseUserDataKeysByNode\"2\n\x15\x45nterpriseDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"0\n\x13SpecialProvisioning\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x02\n\x11GeneralDataEntity\x12\x16\n\x0e\x65nterpriseName\x18\x01 \x01(\t\x12\x1a\n\x12restrictVisibility\x18\x02 \x01(\x08\x12<\n\x13specialProvisioning\x18\x04 \x01(\x0b\x32\x1f.Enterprise.SpecialProvisioning\x12\x30\n\ruserPrivilege\x18\x07 \x01(\x0b\x32\x19.Enterprise.UserPrivilege\x12\x13\n\x0b\x64istributor\x18\x08 \x01(\x08\x12\x1d\n\x15\x66orbidAccountTransfer\x18\t \x01(\x08\x12\x17\n\x0fshowUserOnboard\x18\n \x01(\x08\"\xfd\x01\n\x04Node\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x10\n\x08parentId\x18\x02 \x01(\x03\x12\x10\n\x08\x62ridgeId\x18\x03 \x01(\x03\x12\x0e\n\x06scimId\x18\x04 \x01(\x03\x12\x11\n\tlicenseId\x18\x05 \x01(\x03\x12\x15\n\rencryptedData\x18\x06 \x01(\t\x12\x12\n\nduoEnabled\x18\x07 \x01(\x08\x12\x12\n\nrsaEnabled\x18\x08 \x01(\x08\x12 \n\x14ssoServiceProviderId\x18\t \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x12restrictVisibility\x18\n \x01(\x08\x12!\n\x15ssoServiceProviderIds\x18\x0b \x03(\x03\x42\x02\x10\x01\"\x8e\x01\n\x04Role\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\x12\x0f\n\x07keyType\x18\x04 \x01(\t\x12\x14\n\x0cvisibleBelow\x18\x05 \x01(\x08\x12\x16\n\x0enewUserInherit\x18\x06 \x01(\x08\x12\x10\n\x08roleType\x18\x07 \x01(\t\"\xb8\x02\n\x04User\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\x12\x0f\n\x07keyType\x18\x04 \x01(\t\x12\x10\n\x08username\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x0c\n\x04lock\x18\x07 \x01(\x05\x12\x0e\n\x06userId\x18\x08 \x01(\x05\x12\x1e\n\x16\x61\x63\x63ountShareExpiration\x18\t \x01(\x03\x12\x10\n\x08\x66ullName\x18\n \x01(\t\x12\x10\n\x08jobTitle\x18\x0b \x01(\t\x12\x12\n\ntfaEnabled\x18\x0c \x01(\x08\x12\x46\n\x18transferAcceptanceStatus\x18\r \x01(\x0e\x32$.Enterprise.TransferAcceptanceStatus\"7\n\tUserAlias\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\"\xac\x01\n\x18\x43omplianceReportMetaData\x12\x11\n\treportUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x12\n\nreportName\x18\x03 \x01(\t\x12\x15\n\rdateGenerated\x18\x04 \x01(\x03\x12\x11\n\trunByName\x18\x05 \x01(\t\x12\x16\n\x0enumberOfOwners\x18\x07 \x01(\x05\x12\x17\n\x0fnumberOfRecords\x18\x08 \x01(\x05\"S\n\x0bManagedNode\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x15\n\rmanagedNodeId\x18\x02 \x01(\x03\x12\x1d\n\x15\x63\x61scadeNodeManagement\x18\x03 \x01(\x08\"T\n\x0fUserManagedNode\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x1d\n\x15\x63\x61scadeNodeManagement\x18\x02 \x01(\x08\x12\x12\n\nprivileges\x18\x03 \x03(\t\"w\n\rUserPrivilege\x12\x35\n\x10userManagedNodes\x18\x01 \x03(\x0b\x32\x1b.Enterprise.UserManagedNode\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\t\"4\n\x08RoleUser\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"M\n\rRolePrivilege\x12\x15\n\rmanagedNodeId\x18\x01 \x01(\x03\x12\x0e\n\x06roleId\x18\x02 \x01(\x03\x12\x15\n\rprivilegeType\x18\x03 \x01(\t\"T\n\x17PrivilegesByManagedNode\x12\x15\n\rmanagedNodeId\x18\x01 \x01(\x03\x12\x0e\n\x06roleId\x18\x02 \x01(\x03\x12\x12\n\nprivileges\x18\x03 \x03(\t\"I\n\x0fRoleEnforcement\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x17\n\x0f\x65nforcementType\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\xa9\x01\n\x04Team\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x14\n\x0crestrictEdit\x18\x04 \x01(\x08\x12\x15\n\rrestrictShare\x18\x05 \x01(\x08\x12\x14\n\x0crestrictView\x18\x06 \x01(\x08\x12\x15\n\rencryptedData\x18\x07 \x01(\t\x12\x18\n\x10\x65ncryptedTeamKey\x18\x08 \x01(\t\"G\n\x08TeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x10\n\x08userType\x18\x03 \x01(\t\"K\n\x1aGetDistributorInfoResponse\x12-\n\x0c\x64istributors\x18\x01 \x03(\x0b\x32\x17.Enterprise.Distributor\"B\n\x0b\x44istributor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x08mspInfos\x18\x02 \x03(\x0b\x32\x13.Enterprise.MspInfo\"\x9d\x02\n\x07MspInfo\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\x12\x19\n\x11\x61llocatedLicenses\x18\x03 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x04 \x03(\t\x12\x15\n\rallowedAddOns\x18\x05 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x06 \x01(\t\x12\x34\n\x10managedCompanies\x18\x07 \x03(\x0b\x32\x1a.Enterprise.ManagedCompany\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x08 \x01(\x08\x12(\n\x06\x61\x64\x64Ons\x18\t \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\"\xa8\x02\n\x0eManagedCompany\x12\x16\n\x0emcEnterpriseId\x18\x01 \x01(\x05\x12\x18\n\x10mcEnterpriseName\x18\x02 \x01(\t\x12\x11\n\tmspNodeId\x18\x03 \x01(\x03\x12\x15\n\rnumberOfSeats\x18\x04 \x01(\x05\x12\x15\n\rnumberOfUsers\x18\x05 \x01(\x05\x12\x11\n\tproductId\x18\x06 \x01(\t\x12\x11\n\tisExpired\x18\x07 \x01(\x08\x12\x0f\n\x07treeKey\x18\x08 \x01(\t\x12\x15\n\rtree_key_role\x18\t \x01(\x03\x12\x14\n\x0c\x66ilePlanType\x18\n \x01(\t\x12(\n\x06\x61\x64\x64Ons\x18\x0b \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\x12\x15\n\rtreeKeyTypeId\x18\x0c \x01(\x05\"R\n\x07MSPPool\x12\x11\n\tproductId\x18\x01 \x01(\t\x12\r\n\x05seats\x18\x02 \x01(\x05\x12\x16\n\x0e\x61vailableSeats\x18\x03 \x01(\x05\x12\r\n\x05stash\x18\x04 \x01(\x05\":\n\nMSPContact\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x16\n\x0e\x65nterpriseName\x18\x02 \x01(\t\"\x84\x02\n\x0cLicenseAddOn\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x0f\n\x07isTrial\x18\x03 \x01(\x08\x12\x12\n\nexpiration\x18\x04 \x01(\x03\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\r\n\x05seats\x18\x06 \x01(\x05\x12\x16\n\x0e\x61\x63tivationTime\x18\x07 \x01(\x03\x12\x19\n\x11includedInProduct\x18\x08 \x01(\x08\x12\x14\n\x0c\x61piCallCount\x18\t \x01(\x05\x12\x17\n\x0ftierDescription\x18\n \x01(\t\x12\x16\n\x0eseatsAllocated\x18\x0b \x01(\x05\x12\x16\n\x0enhiTierAddOnId\x18\x0c \x01(\x05\"s\n\tMCDefault\x12\x11\n\tmcProduct\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x64\x64Ons\x18\x02 \x03(\t\x12\x14\n\x0c\x66ilePlanType\x18\x03 \x01(\t\x12\x13\n\x0bmaxLicenses\x18\x04 \x01(\x05\x12\x18\n\x10\x66ixedMaxLicenses\x18\x05 \x01(\x08\"\xd2\x01\n\nMSPPermits\x12\x12\n\nrestricted\x18\x01 \x01(\x08\x12\x1a\n\x12maxAllowedLicenses\x18\x02 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x03 \x03(\t\x12\x15\n\rallowedAddOns\x18\x04 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x05 \x01(\t\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x06 \x01(\x08\x12)\n\nmcDefaults\x18\x07 \x03(\x0b\x32\x15.Enterprise.MCDefault\"\xa0\x04\n\x07License\x12\x0c\n\x04paid\x18\x01 \x01(\x08\x12\x15\n\rnumberOfSeats\x18\x02 \x01(\x05\x12\x12\n\nexpiration\x18\x03 \x01(\x03\x12\x14\n\x0clicenseKeyId\x18\x04 \x01(\x05\x12\x15\n\rproductTypeId\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x1b\n\x13\x65nterpriseLicenseId\x18\x07 \x01(\x03\x12\x16\n\x0eseatsAllocated\x18\x08 \x01(\x05\x12\x14\n\x0cseatsPending\x18\t \x01(\x05\x12\x0c\n\x04tier\x18\n \x01(\x05\x12\x16\n\x0e\x66ilePlanTypeId\x18\x0b \x01(\x05\x12\x10\n\x08maxBytes\x18\x0c \x01(\x03\x12\x19\n\x11storageExpiration\x18\r \x01(\x03\x12\x15\n\rlicenseStatus\x18\x0e \x01(\t\x12$\n\x07mspPool\x18\x0f \x03(\x0b\x32\x13.Enterprise.MSPPool\x12)\n\tmanagedBy\x18\x10 \x01(\x0b\x32\x16.Enterprise.MSPContact\x12(\n\x06\x61\x64\x64Ons\x18\x11 \x03(\x0b\x32\x18.Enterprise.LicenseAddOn\x12\x17\n\x0fnextBillingDate\x18\x12 \x01(\x03\x12\x17\n\x0fhasMSPLegacyLog\x18\x13 \x01(\x08\x12*\n\nmspPermits\x18\x14 \x01(\x0b\x32\x16.Enterprise.MSPPermits\x12\x13\n\x0b\x64istributor\x18\x15 \x01(\x08\"n\n\x06\x42ridge\x12\x10\n\x08\x62ridgeId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x18\n\x10wanIpEnforcement\x18\x03 \x01(\t\x12\x18\n\x10lanIpEnforcement\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\"t\n\x04Scim\x12\x0e\n\x06scimId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nlastSynced\x18\x04 \x01(\x03\x12\x12\n\nrolePrefix\x18\x05 \x01(\t\x12\x14\n\x0cuniqueGroups\x18\x06 \x01(\x08\"L\n\x0e\x45mailProvision\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\"R\n\nQueuedTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\"0\n\x0eQueuedTeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\r\n\x05users\x18\x02 \x03(\x03\"\xa4\x01\n\x0eTeamsAddResult\x12\x34\n\x11successfulTeamAdd\x18\x01 \x03(\x0b\x32\x19.Enterprise.TeamAddResult\x12\x36\n\x13unsuccessfulTeamAdd\x18\x02 \x03(\x0b\x32\x19.Enterprise.TeamAddResult\x12\x0e\n\x06result\x18\x03 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x04 \x01(\t\"U\n\rTeamAddResult\x12\x1e\n\x04team\x18\x01 \x01(\x0b\x32\x10.Enterprise.Team\x12\x0e\n\x06result\x18\x02 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x03 \x01(\t\"\x91\x01\n\nSsoService\x12\x1c\n\x14ssoServiceProviderId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06sp_url\x18\x04 \x01(\t\x12\x16\n\x0einviteNewUsers\x18\x05 \x01(\x08\x12\x0e\n\x06\x61\x63tive\x18\x06 \x01(\x08\x12\x0f\n\x07isCloud\x18\x07 \x01(\x08\"1\n\x10ReportFilterUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\r\n\x05\x65mail\x18\x02 \x01(\t\"\x97\x02\n\x1d\x44\x65viceRequestForAdminApproval\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\x03\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x03 \x01(\x0c\x12\x17\n\x0f\x64\x65vicePublicKey\x18\x04 \x01(\x0c\x12\x12\n\ndeviceName\x18\x05 \x01(\t\x12\x15\n\rclientVersion\x18\x06 \x01(\t\x12\x12\n\ndeviceType\x18\x07 \x01(\t\x12\x0c\n\x04\x64\x61te\x18\x08 \x01(\x03\x12\x11\n\tipAddress\x18\t \x01(\t\x12\x10\n\x08location\x18\n \x01(\t\x12\r\n\x05\x65mail\x18\x0b \x01(\t\x12\x12\n\naccountUid\x18\x0c \x01(\x0c\"`\n\x0e\x45nterpriseData\x12\x30\n\x06\x65ntity\x18\x01 \x01(\x0e\x32 .Enterprise.EnterpriseDataEntity\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x03 \x03(\x0c\"\xd0\x01\n\x16\x45nterpriseDataResponse\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\x12,\n\x0b\x63\x61\x63heStatus\x18\x03 \x01(\x0e\x32\x17.Enterprise.CacheStatus\x12(\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x1a.Enterprise.EnterpriseData\x12\x32\n\x0bgeneralData\x18\x05 \x01(\x0b\x32\x1d.Enterprise.GeneralDataEntity\"*\n\rBackupRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\x98\x01\n\x0c\x42\x61\x63kupRecord\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0b\n\x03key\x18\x03 \x01(\x0c\x12*\n\x07keyType\x18\x04 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\r\n\x05\x65xtra\x18\x07 \x01(\x0c\".\n\tBackupKey\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\tbackupKey\x18\x02 \x01(\x0c\"\x8d\x02\n\nBackupUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x61taKey\x18\x03 \x01(\x0c\x12\x36\n\x0b\x64\x61taKeyType\x18\x04 \x01(\x0e\x32!.Enterprise.BackupUserDataKeyType\x12\x12\n\nprivateKey\x18\x05 \x01(\x0c\x12\x0f\n\x07treeKey\x18\x06 \x01(\x0c\x12.\n\x0btreeKeyType\x18\x07 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\x12)\n\nbackupKeys\x18\x08 \x03(\x0b\x32\x15.Enterprise.BackupKey\x12\x14\n\x0cprivateECKey\x18\t \x01(\x0c\"\x9e\x01\n\x0e\x42\x61\x63kupResponse\x12\x1f\n\x17\x65nterpriseEccPrivateKey\x18\x01 \x01(\x0c\x12%\n\x05users\x18\x02 \x03(\x0b\x32\x16.Enterprise.BackupUser\x12)\n\x07records\x18\x03 \x03(\x0b\x32\x18.Enterprise.BackupRecord\x12\x19\n\x11\x63ontinuationToken\x18\x04 \x01(\x0c\"e\n\nBackupFile\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x11\n\tbackupUid\x18\x02 \x01(\x0c\x12\x10\n\x08\x66ileName\x18\x03 \x01(\t\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\x12\x13\n\x0b\x64ownloadUrl\x18\x05 \x01(\t\"8\n\x0f\x42\x61\x63kupsResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Enterprise.BackupFile\".\n\x1cGetEnterpriseDataKeysRequest\x12\x0e\n\x06roleId\x18\x01 \x03(\x03\"\xff\x01\n\x1dGetEnterpriseDataKeysResponse\x12:\n\x12reEncryptedRoleKey\x18\x01 \x03(\x0b\x32\x1e.Enterprise.ReEncryptedRoleKey\x12$\n\x07roleKey\x18\x02 \x03(\x0b\x32\x13.Enterprise.RoleKey\x12\"\n\x06mspKey\x18\x03 \x01(\x0b\x32\x12.Enterprise.MspKey\x12\x32\n\x0e\x65nterpriseKeys\x18\x04 \x01(\x0b\x32\x1a.Enterprise.EnterpriseKeys\x12$\n\x07treeKey\x18\x05 \x01(\x0b\x32\x13.Enterprise.TreeKey\"^\n\x07RoleKey\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x14\n\x0c\x65ncryptedKey\x18\x02 \x01(\t\x12-\n\x07keyType\x18\x03 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"d\n\x06MspKey\x12\x1b\n\x13\x65ncryptedMspTreeKey\x18\x01 \x01(\t\x12=\n\x17\x65ncryptedMspTreeKeyType\x18\x02 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"|\n\x0e\x45nterpriseKeys\x12\x14\n\x0crsaPublicKey\x18\x01 \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x02 \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\x03 \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x04 \x01(\x0c\"H\n\x07TreeKey\x12\x0f\n\x07treeKey\x18\x01 \x01(\t\x12,\n\tkeyTypeId\x18\x02 \x01(\x0e\x32\x19.Enterprise.BackupKeyType\"E\n\x14SharedRecordResponse\x12-\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1d.Enterprise.SharedRecordEvent\"p\n\x11SharedRecordEvent\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61nEdit\x18\x03 \x01(\x08\x12\x12\n\ncanReshare\x18\x04 \x01(\x08\x12\x11\n\tshareFrom\x18\x05 \x01(\x05\".\n\x1cSetRestrictVisibilityRequest\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\"\xd0\x01\n\x0eUserAddRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12-\n\x07keyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x05 \x01(\t\x12\x10\n\x08jobTitle\x18\x06 \x01(\t\x12\r\n\x05\x65mail\x18\x07 \x01(\t\x12\x1b\n\x13suppressEmailInvite\x18\x08 \x01(\x08\":\n\x11UserUpdateRequest\x12%\n\x05users\x18\x01 \x03(\x0b\x32\x16.Enterprise.UserUpdate\"\xe7\x01\n\nUserUpdate\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x19\n\rencryptedData\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12-\n\x07keyType\x18\x04 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x05 \x01(\t\x12\x10\n\x08jobTitle\x18\x06 \x01(\t\x12\r\n\x05\x65mail\x18\x07 \x01(\t\x12\x15\n\rinviteeLocale\x18\x08 \x01(\t\x12\x1b\n\x13\x65ncryptedDataString\x18\t \x01(\t\"A\n\x12UserUpdateResponse\x12+\n\x05users\x18\x01 \x03(\x0b\x32\x1c.Enterprise.UserUpdateResult\"\x88\x01\n\x10UserUpdateResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.Enterprise.UserUpdateStatus\x12\x14\n\x0c\x65rrorMessage\x18\x03 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x04 \x01(\t\"J\n\x1d\x43omplianceRecordOwnersRequest\x12\x0f\n\x07nodeIds\x18\x01 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x02 \x01(\x08\"O\n\x1e\x43omplianceRecordOwnersResponse\x12-\n\x0crecordOwners\x18\x01 \x03(\x0b\x32\x17.Enterprise.RecordOwner\"7\n\x0bRecordOwner\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0e\n\x06shared\x18\x02 \x01(\x08\"\xa6\x01\n PreliminaryComplianceDataRequest\x12\x19\n\x11\x65nterpriseUserIds\x18\x01 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x02 \x01(\x08\x12\x19\n\x11\x63ontinuationToken\x18\x03 \x01(\x0c\x12\x32\n*includeTotalMatchingRecordsInFirstResponse\x18\x04 \x01(\x08\"\x9f\x01\n!PreliminaryComplianceDataResponse\x12\x30\n\rauditUserData\x18\x01 \x03(\x0b\x32\x19.Enterprise.AuditUserData\x12\x19\n\x11\x63ontinuationToken\x18\x02 \x01(\x0c\x12\x0f\n\x07hasMore\x18\x03 \x01(\x08\x12\x1c\n\x14totalMatchingRecords\x18\x04 \x01(\x05\"b\n\x0f\x41uditUserRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12\x0e\n\x06shared\x18\x03 \x01(\x08\x12\x15\n\risDriveRecord\x18\x04 \x01(\x08\"\x8d\x01\n\rAuditUserData\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x35\n\x10\x61uditUserRecords\x18\x02 \x03(\x0b\x32\x1b.Enterprise.AuditUserRecord\x12+\n\x06status\x18\x03 \x01(\x0e\x32\x1b.Enterprise.AuditUserStatus\"\x7f\n\x17\x43omplianceReportFilters\x12\x14\n\x0crecordTitles\x18\x01 \x03(\t\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\x12\x11\n\tjobTitles\x18\x03 \x03(\x03\x12\x0c\n\x04urls\x18\x04 \x03(\t\x12\x19\n\x11\x65nterpriseUserIds\x18\x05 \x03(\x03\"\x7f\n\x17\x43omplianceReportRequest\x12<\n\x13\x63omplianceReportRun\x18\x01 \x01(\x0b\x32\x1f.Enterprise.ComplianceReportRun\x12\x12\n\nreportName\x18\x02 \x01(\t\x12\x12\n\nsaveReport\x18\x03 \x01(\x08\"\x85\x01\n\x13\x43omplianceReportRun\x12N\n\x17reportCriteriaAndFilter\x18\x01 \x01(\x0b\x32-.Enterprise.ComplianceReportCriteriaAndFilter\x12\r\n\x05users\x18\x02 \x03(\x03\x12\x0f\n\x07records\x18\x03 \x03(\x0c\"\xfc\x01\n!ComplianceReportCriteriaAndFilter\x12\x0e\n\x06nodeId\x18\x01 \x01(\x03\x12\x13\n\x0b\x63riteriaUid\x18\x02 \x01(\x0c\x12\x14\n\x0c\x63riteriaName\x18\x03 \x01(\t\x12\x36\n\x08\x63riteria\x18\x04 \x01(\x0b\x32$.Enterprise.ComplianceReportCriteria\x12\x33\n\x07\x66ilters\x18\x05 \x03(\x0b\x32\".Enterprise.ComplianceReportFilter\x12\x14\n\x0clastModified\x18\x06 \x01(\x03\x12\x19\n\x11nodeEncryptedData\x18\x07 \x01(\x0c\"b\n\x18\x43omplianceReportCriteria\x12\x11\n\tjobTitles\x18\x01 \x03(\t\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\x12\x18\n\x10includeNonShared\x18\x03 \x01(\x08\"x\n\x16\x43omplianceReportFilter\x12\x14\n\x0crecordTitles\x18\x01 \x03(\t\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\x12\x11\n\tjobTitles\x18\x03 \x03(\t\x12\x0c\n\x04urls\x18\x04 \x03(\t\x12\x13\n\x0brecordTypes\x18\x05 \x03(\t\"\xa1\x05\n\x18\x43omplianceReportResponse\x12\x15\n\rdateGenerated\x18\x01 \x01(\x03\x12\x15\n\rrunByUserName\x18\x02 \x01(\t\x12\x12\n\nreportName\x18\x03 \x01(\t\x12\x11\n\treportUid\x18\x04 \x01(\x0c\x12<\n\x13\x63omplianceReportRun\x18\x05 \x01(\x0b\x32\x1f.Enterprise.ComplianceReportRun\x12-\n\x0cuserProfiles\x18\x06 \x03(\x0b\x32\x17.Enterprise.UserProfile\x12)\n\nauditTeams\x18\x07 \x03(\x0b\x32\x15.Enterprise.AuditTeam\x12-\n\x0c\x61uditRecords\x18\x08 \x03(\x0b\x32\x17.Enterprise.AuditRecord\x12+\n\x0buserRecords\x18\t \x03(\x0b\x32\x16.Enterprise.UserRecord\x12;\n\x13sharedFolderRecords\x18\n \x03(\x0b\x32\x1e.Enterprise.SharedFolderRecord\x12\x37\n\x11sharedFolderUsers\x18\x0b \x03(\x0b\x32\x1c.Enterprise.SharedFolderUser\x12\x37\n\x11sharedFolderTeams\x18\x0c \x03(\x0b\x32\x1c.Enterprise.SharedFolderTeam\x12\x31\n\x0e\x61uditTeamUsers\x18\r \x03(\x0b\x32\x19.Enterprise.AuditTeamUser\x12)\n\nauditRoles\x18\x0e \x03(\x0b\x32\x15.Enterprise.AuditRole\x12/\n\rlinkedRecords\x18\x0f \x03(\x0b\x32\x18.Enterprise.LinkedRecord\"\x98\x01\n\x0b\x41uditRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\tauditData\x18\x02 \x01(\x0c\x12\x16\n\x0ehasAttachments\x18\x03 \x01(\x08\x12\x0f\n\x07inTrash\x18\x04 \x01(\x08\x12\x10\n\x08treeLeft\x18\x05 \x01(\x05\x12\x11\n\ttreeRight\x18\x06 \x01(\x05\x12\x15\n\risDriveRecord\x18\x07 \x01(\x08\"\x80\x02\n\tAuditRole\x12\x0e\n\x06roleId\x18\x01 \x01(\x03\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12&\n\x1erestrictShareOutsideEnterprise\x18\x03 \x01(\x08\x12\x18\n\x10restrictShareAll\x18\x04 \x01(\x08\x12\"\n\x1arestrictShareOfAttachments\x18\x05 \x01(\x08\x12)\n!restrictMaskPasswordsWhileEditing\x18\x06 \x01(\x08\x12;\n\x13roleNodeManagements\x18\x07 \x03(\x0b\x32\x1e.Enterprise.RoleNodeManagement\"^\n\x12RoleNodeManagement\x12\x10\n\x08treeLeft\x18\x01 \x01(\x05\x12\x11\n\ttreeRight\x18\x02 \x01(\x05\x12\x0f\n\x07\x63\x61scade\x18\x03 \x01(\x08\x12\x12\n\nprivileges\x18\x04 \x01(\x05\"k\n\x0bUserProfile\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x10\n\x08jobTitle\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x0f\n\x07roleIds\x18\x05 \x03(\x03\"{\n\x10RecordPermission\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x18\n\x0epermissionBits\x18\x02 \x01(\x05H\x00\x12,\n\x05\x64rive\x18\x03 \x01(\x0b\x32\x1b.Enterprise.DrivePermissionH\x00\x42\x0c\n\npermission\"\xc7\x01\n\x0f\x44rivePermission\x12\r\n\x05owner\x18\x01 \x01(\x08\x12\x0e\n\x06\x64\x65nied\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61nEdit\x18\x03 \x01(\x08\x12\x10\n\x08\x63\x61nShare\x18\x04 \x01(\x08\x12\x14\n\x0cisShareAdmin\x18\x05 \x01(\x08\x12&\n\naccessType\x18\x06 \x01(\x0e\x32\x12.Folder.AccessType\x12\x34\n\x11\x66olderPermissions\x18\x07 \x01(\x0b\x32\x19.Folder.FolderPermissions\"_\n\nUserRecord\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x37\n\x11recordPermissions\x18\x02 \x03(\x0b\x32\x1c.Enterprise.RecordPermission\"[\n\tAuditTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamName\x18\x02 \x01(\t\x12\x14\n\x0crestrictEdit\x18\x03 \x01(\x08\x12\x15\n\rrestrictShare\x18\x04 \x01(\x08\";\n\rAuditTeamUser\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"\x9f\x01\n\x12SharedFolderRecord\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x37\n\x11recordPermissions\x18\x02 \x03(\x0b\x32\x1c.Enterprise.RecordPermission\x12\x37\n\x11shareAdminRecords\x18\x03 \x03(\x0b\x32\x1c.Enterprise.ShareAdminRecord\"M\n\x10ShareAdminRecord\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x1f\n\x17recordPermissionIndexes\x18\x02 \x03(\x05\"F\n\x10SharedFolderUser\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\"=\n\x10SharedFolderTeam\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08teamUids\x18\x02 \x03(\x0c\"/\n\x1aGetComplianceReportRequest\x12\x11\n\treportUid\x18\x01 \x01(\x0c\"2\n\x1bGetComplianceReportResponse\x12\x13\n\x0b\x64ownloadUrl\x18\x01 \x01(\t\"6\n\x1f\x43omplianceReportCriteriaRequest\x12\x13\n\x0b\x63riteriaUid\x18\x01 \x01(\x0c\";\n$SaveComplianceReportCriteriaResponse\x12\x13\n\x0b\x63riteriaUid\x18\x01 \x01(\x0c\"4\n\x0cLinkedRecord\x12\x10\n\x08ownerUid\x18\x01 \x01(\x0c\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\"W\n\x17GetSharingAdminsRequest\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x10\n\x08username\x18\x03 \x01(\t\"\xe0\x01\n\x0eUserProfileExt\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x10\n\x08\x66ullName\x18\x02 \x01(\t\x12\x10\n\x08jobTitle\x18\x03 \x01(\t\x12\x14\n\x0cisMSPMCAdmin\x18\x04 \x01(\x08\x12\x18\n\x10isInSharedFolder\x18\x05 \x01(\x08\x12&\n\x1eisShareAdminForRequestedObject\x18\x06 \x01(\x08\x12(\n isShareAdminForSharedFolderOwner\x18\x07 \x01(\x08\x12\x19\n\x11hasAccessToObject\x18\x08 \x01(\x08\"O\n\x18GetSharingAdminsResponse\x12\x33\n\x0fuserProfileExts\x18\x01 \x03(\x0b\x32\x1a.Enterprise.UserProfileExt\"_\n\x1eTeamsEnterpriseUsersAddRequest\x12=\n\x05teams\x18\x01 \x03(\x0b\x32..Enterprise.TeamsEnterpriseUsersAddTeamRequest\"t\n\"TeamsEnterpriseUsersAddTeamRequest\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12=\n\x05users\x18\x02 \x03(\x0b\x32..Enterprise.TeamsEnterpriseUsersAddUserRequest\"\xab\x01\n\"TeamsEnterpriseUsersAddUserRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12*\n\x08userType\x18\x02 \x01(\x0e\x32\x18.Enterprise.TeamUserType\x12\x13\n\x07teamKey\x18\x03 \x01(\tB\x02\x18\x01\x12*\n\x0ctypedTeamKey\x18\x04 \x01(\x0b\x32\x14.Enterprise.TypedKey\"F\n\x08TypedKey\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12-\n\x07keyType\x18\x02 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\"s\n\x1fTeamsEnterpriseUsersAddResponse\x12>\n\x05teams\x18\x01 \x03(\x0b\x32/.Enterprise.TeamsEnterpriseUsersAddTeamResponse\x12\x10\n\x08revision\x18\x02 \x01(\x03\"\xc4\x01\n#TeamsEnterpriseUsersAddTeamResponse\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12>\n\x05users\x18\x02 \x03(\x0b\x32/.Enterprise.TeamsEnterpriseUsersAddUserResponse\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x12\n\nresultCode\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"\x9f\x01\n#TeamsEnterpriseUsersAddUserResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x12\n\nresultCode\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"E\n\x18TeamEnterpriseUserRemove\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x65nterpriseUserId\x18\x02 \x01(\x03\"j\n TeamEnterpriseUserRemovesRequest\x12\x46\n\x18teamEnterpriseUserRemove\x18\x01 \x03(\x0b\x32$.Enterprise.TeamEnterpriseUserRemove\"{\n!TeamEnterpriseUserRemovesResponse\x12V\n teamEnterpriseUserRemoveResponse\x18\x01 \x03(\x0b\x32,.Enterprise.TeamEnterpriseUserRemoveResponse\"\xb8\x01\n TeamEnterpriseUserRemoveResponse\x12\x46\n\x18teamEnterpriseUserRemove\x18\x01 \x01(\x0b\x32$.Enterprise.TeamEnterpriseUserRemove\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nresultCode\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x05 \x01(\t\"M\n\x0b\x44omainAlias\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0f\n\x07message\x18\x04 \x01(\t\"B\n\x12\x44omainAliasRequest\x12,\n\x0b\x64omainAlias\x18\x01 \x03(\x0b\x32\x17.Enterprise.DomainAlias\"C\n\x13\x44omainAliasResponse\x12,\n\x0b\x64omainAlias\x18\x01 \x03(\x0b\x32\x17.Enterprise.DomainAlias\"m\n\x1f\x45nterpriseUsersProvisionRequest\x12\x33\n\x05users\x18\x01 \x03(\x0b\x32$.Enterprise.EnterpriseUsersProvision\x12\x15\n\rclientVersion\x18\x02 \x01(\t\"\xb6\x03\n\x18\x45nterpriseUsersProvision\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x06 \x01(\t\x12\x10\n\x08jobTitle\x18\x07 \x01(\t\x12\x1e\n\x16\x65nterpriseUsersDataKey\x18\x08 \x01(\x0c\x12\x14\n\x0c\x61uthVerifier\x18\t \x01(\x0c\x12\x18\n\x10\x65ncryptionParams\x18\n \x01(\x0c\x12\x14\n\x0crsaPublicKey\x18\x0b \x01(\x0c\x12\x1e\n\x16rsaEncryptedPrivateKey\x18\x0c \x01(\x0c\x12\x14\n\x0c\x65\x63\x63PublicKey\x18\r \x01(\x0c\x12\x1e\n\x16\x65\x63\x63\x45ncryptedPrivateKey\x18\x0e \x01(\x0c\x12\x1c\n\x14\x65ncryptedDeviceToken\x18\x0f \x01(\x0c\x12\x1a\n\x12\x65ncryptedClientKey\x18\x10 \x01(\x0c\"_\n EnterpriseUsersProvisionResponse\x12;\n\x07results\x18\x01 \x03(\x0b\x32*.Enterprise.EnterpriseUsersProvisionResult\"q\n\x1e\x45nterpriseUsersProvisionResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x04 \x01(\t\"a\n\x19\x45nterpriseUsersAddRequest\x12-\n\x05users\x18\x01 \x03(\x0b\x32\x1e.Enterprise.EnterpriseUsersAdd\x12\x15\n\rclientVersion\x18\x02 \x01(\t\"\x8c\x02\n\x12\x45nterpriseUsersAdd\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x0e\n\x06nodeId\x18\x03 \x01(\x03\x12\x15\n\rencryptedData\x18\x04 \x01(\t\x12-\n\x07keyType\x18\x05 \x01(\x0e\x32\x1c.Enterprise.EncryptedKeyType\x12\x10\n\x08\x66ullName\x18\x06 \x01(\t\x12\x10\n\x08jobTitle\x18\x07 \x01(\t\x12\x1b\n\x13suppressEmailInvite\x18\x08 \x01(\x08\x12\x15\n\rinviteeLocale\x18\t \x01(\t\x12\x0c\n\x04move\x18\n \x01(\x08\x12\x0e\n\x06roleId\x18\x0b \x01(\x03\"\x9b\x01\n\x1a\x45nterpriseUsersAddResponse\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.Enterprise.EnterpriseUsersAddResult\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x05 \x01(\t\"\x96\x01\n\x18\x45nterpriseUsersAddResult\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x18\n\x10verificationCode\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x16\n\x0e\x61\x64\x64itionalInfo\x18\x06 \x01(\t\"\xb9\x01\n\x17UpdateMSPPermitsRequest\x12\x17\n\x0fmspEnterpriseId\x18\x01 \x01(\x05\x12\x1a\n\x12maxAllowedLicenses\x18\x02 \x01(\x05\x12\x19\n\x11\x61llowedMcProducts\x18\x03 \x03(\t\x12\x15\n\rallowedAddOns\x18\x04 \x03(\t\x12\x17\n\x0fmaxFilePlanType\x18\x05 \x01(\t\x12\x1e\n\x16\x61llowUnlimitedLicenses\x18\x06 \x01(\x08\"9\n\x1c\x44\x65leteEnterpriseUsersRequest\x12\x19\n\x11\x65nterpriseUserIds\x18\x01 \x03(\x03\"o\n\x1a\x44\x65leteEnterpriseUserStatus\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.Enterprise.DeleteEnterpriseUsersResult\"]\n\x1d\x44\x65leteEnterpriseUsersResponse\x12<\n\x0c\x64\x65leteStatus\x18\x01 \x03(\x0b\x32&.Enterprise.DeleteEnterpriseUserStatus\"w\n\x18\x43learSecurityDataRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x03(\x03\x12\x10\n\x08\x61llUsers\x18\x02 \x01(\x08\x12/\n\x04type\x18\x03 \x01(\x0e\x32!.Enterprise.ClearSecurityDataType\"%\n\x13ListDomainsResponse\x12\x0e\n\x06\x64omain\x18\x01 \x03(\t\"d\n\x14ReserveDomainRequest\x12<\n\x13reserveDomainAction\x18\x01 \x01(\x0e\x32\x1f.Enterprise.ReserveDomainAction\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"&\n\x15ReserveDomainResponse\x12\r\n\x05token\x18\x01 \x01(\t\".\n\x0bRolesByTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0e\n\x06roleId\x18\x02 \x03(\x03\"\x8d\x01\n\x10LockUsersRequest\x12\x1d\n\x15lockEnterpriseUserIds\x18\x01 \x03(\x03\x12 \n\x18\x64isableEnterpriseUserIds\x18\x02 \x03(\x03\x12\x1f\n\x17unlockEnterpriseUserIds\x18\x03 \x03(\x03\x12\x17\n\x0f\x64\x65leteIfPending\x18\x04 \x01(\x08\"C\n\x11LockUsersResponse\x12.\n\x08response\x18\x01 \x03(\x0b\x32\x1c.Enterprise.LockUserResponse\"n\n\x10LockUserResponse\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Enterprise.UserLockStatus\x12\x14\n\x0c\x65rrorMessage\x18\x03 \x01(\t*\x1b\n\x07KeyType\x12\x07\n\x03RSA\x10\x00\x12\x07\n\x03\x45\x43\x43\x10\x01*\xaf\x02\n\x14RoleUserModifyStatus\x12\x0f\n\x0bROLE_EXISTS\x10\x00\x12\x14\n\x10MISSING_TREE_KEY\x10\x01\x12\x14\n\x10MISSING_ROLE_KEY\x10\x02\x12\x1e\n\x1aINVALID_ENTERPRISE_USER_ID\x10\x03\x12\x1b\n\x17PENDING_ENTERPRISE_USER\x10\x04\x12\x13\n\x0fINVALID_NODE_ID\x10\x05\x12!\n\x1dMAY_NOT_REMOVE_SELF_FROM_ROLE\x10\x06\x12\x1c\n\x18MUST_HAVE_ONE_USER_ADMIN\x10\x07\x12\x13\n\x0fINVALID_ROLE_ID\x10\x08\x12\x1d\n\x19PAM_LICENSE_SEAT_EXCEEDED\x10\t\x12\x13\n\x0fWOULD_LOCK_SELF\x10\n*=\n\x0e\x45nterpriseType\x12\x17\n\x13\x45NTERPRISE_STANDARD\x10\x00\x12\x12\n\x0e\x45NTERPRISE_MSP\x10\x01*s\n\x18TransferAcceptanceStatus\x12\r\n\tUNDEFINED\x10\x00\x12\x10\n\x0cNOT_REQUIRED\x10\x01\x12\x10\n\x0cNOT_ACCEPTED\x10\x02\x12\x16\n\x12PARTIALLY_ACCEPTED\x10\x03\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x04*\xe1\x03\n\x14\x45nterpriseDataEntity\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05NODES\x10\x01\x12\t\n\x05ROLES\x10\x02\x12\t\n\x05USERS\x10\x03\x12\t\n\x05TEAMS\x10\x04\x12\x0e\n\nTEAM_USERS\x10\x05\x12\x0e\n\nROLE_USERS\x10\x06\x12\x13\n\x0fROLE_PRIVILEGES\x10\x07\x12\x15\n\x11ROLE_ENFORCEMENTS\x10\x08\x12\x0e\n\nROLE_TEAMS\x10\t\x12\x0c\n\x08LICENSES\x10\n\x12\x11\n\rMANAGED_NODES\x10\x0b\x12\x15\n\x11MANAGED_COMPANIES\x10\x0c\x12\x0b\n\x07\x42RIDGES\x10\r\x12\t\n\x05SCIMS\x10\x0e\x12\x13\n\x0f\x45MAIL_PROVISION\x10\x0f\x12\x10\n\x0cQUEUED_TEAMS\x10\x10\x12\x15\n\x11QUEUED_TEAM_USERS\x10\x11\x12\x10\n\x0cSSO_SERVICES\x10\x12\x12\x17\n\x13REPORT_FILTER_USERS\x10\x13\x12&\n\"DEVICES_REQUEST_FOR_ADMIN_APPROVAL\x10\x14\x12\x10\n\x0cUSER_ALIASES\x10\x15\x12)\n%COMPLIANCE_REPORT_CRITERIA_AND_FILTER\x10\x16\x12\x16\n\x12\x43OMPLIANCE_REPORTS\x10\x17*\"\n\x0b\x43\x61\x63heStatus\x12\x08\n\x04KEEP\x10\x00\x12\t\n\x05\x43LEAR\x10\x01*\x93\x01\n\rBackupKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x19\n\x15\x45NCRYPTED_BY_DATA_KEY\x10\x01\x12\x1b\n\x17\x45NCRYPTED_BY_PUBLIC_KEY\x10\x02\x12\x1d\n\x19\x45NCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\x1f\n\x1b\x45NCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04*:\n\x15\x42\x61\x63kupUserDataKeyType\x12\x07\n\x03OWN\x10\x00\x12\x18\n\x14SHARED_TO_ENTERPRISE\x10\x01*\xa5\x01\n\x10\x45ncryptedKeyType\x12\r\n\tKT_NO_KEY\x10\x00\x12\x1c\n\x18KT_ENCRYPTED_BY_DATA_KEY\x10\x01\x12\x1e\n\x1aKT_ENCRYPTED_BY_PUBLIC_KEY\x10\x02\x12 \n\x1cKT_ENCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\"\n\x1eKT_ENCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04*\xb7\x02\n\x12\x45nterpriseFlagType\x12\x0b\n\x07INVALID\x10\x00\x12\x1a\n\x16\x41LLOW_PERSONAL_LICENSE\x10\x01\x12\x18\n\x14SPECIAL_PROVISIONING\x10\x02\x12\x10\n\x0cRECORD_TYPES\x10\x03\x12\x13\n\x0fSECRETS_MANAGER\x10\x04\x12\x15\n\x11\x45NTERPRISE_LOCKED\x10\x05\x12\x15\n\x11\x46ORBID_KEY_TYPE_2\x10\x06\x12\x15\n\x11\x43ONSOLE_ONBOARDED\x10\x07\x12\x1b\n\x17\x46ORBID_ACCOUNT_TRANSFER\x10\x08\x12\x15\n\x11NPS_POPUP_OPT_OUT\x10\t\x12\x15\n\x11SHOW_USER_ONBOARD\x10\n\x12\x15\n\x11\x46ORBID_KEY_TYPE_1\x10\x0b\x12\x10\n\x0cKEEPER_DRIVE\x10\x0c*\xf3\x01\n\x10UserUpdateStatus\x12\x12\n\x0eUSER_UPDATE_OK\x10\x00\x12\x1d\n\x19USER_UPDATE_ACCESS_DENIED\x10\x01\x12&\n\"USER_UPDATE_EXCEEDED_LICENSE_SEATS\x10\x02\x12\x1b\n\x17USER_UPDATE_BAD_REQUEST\x10\x03\x12\x19\n\x15USER_UPDATE_DUPLICATE\x10\x04\x12\x1d\n\x19USER_UPDATE_INVALID_STATE\x10\x05\x12\x16\n\x12USER_UPDATE_FAILED\x10\x06\x12\x15\n\x11USER_UPDATE_ERROR\x10\x07*I\n\x0f\x41uditUserStatus\x12\x06\n\x02OK\x10\x00\x12\x11\n\rACCESS_DENIED\x10\x01\x12\x1b\n\x17NO_LONGER_IN_ENTERPRISE\x10\x02*3\n\x0cTeamUserType\x12\x08\n\x04USER\x10\x00\x12\t\n\x05\x41\x44MIN\x10\x01\x12\x0e\n\nADMIN_ONLY\x10\x02*x\n\rAppClientType\x12\x0c\n\x08NOT_USED\x10\x00\x12\x0b\n\x07GENERAL\x10\x01\x12%\n!DISCOVERY_AND_ROTATION_CONTROLLER\x10\x02\x12\x12\n\x0eKCM_CONTROLLER\x10\x03\x12\x11\n\rSELF_DESTRUCT\x10\x04*\x8f\x01\n\x1b\x44\x65leteEnterpriseUsersResult\x12\x0b\n\x07SUCCESS\x10\x00\x12\x1a\n\x16NOT_AN_ENTERPRISE_USER\x10\x01\x12\x16\n\x12\x43\x41NNOT_DELETE_SELF\x10\x02\x12$\n BRIDGE_CANNOT_DELETE_ACTIVE_USER\x10\x03\x12\t\n\x05\x45RROR\x10\x04*\x87\x01\n\x15\x43learSecurityDataType\x12\x1e\n\x1aRECALCULATE_SUMMARY_REPORT\x10\x00\x12\'\n#FORCE_CLIENT_CHECK_FOR_MISSING_DATA\x10\x01\x12%\n!FORCE_CLIENT_RESEND_SECURITY_DATA\x10\x02*J\n\x13ReserveDomainAction\x12\x10\n\x0c\x44OMAIN_TOKEN\x10\x00\x12\x0e\n\nDOMAIN_ADD\x10\x01\x12\x11\n\rDOMAIN_DELETE\x10\x02*s\n\x0eUserLockStatus\x12\x17\n\x13UNKNOWN_LOCK_STATUS\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0c\n\x08UNLOCKED\x10\x03\x12\x0b\n\x07\x44\x45LETED\x10\x04\x12\x13\n\x0f\x43\x41NT_BE_PENDING\x10\x05*\x80\x01\n\x1d\x45xternalCloudSecretsStoreType\x12\x16\n\x12UNKNOWN_STORE_TYPE\x10\x00\x12\x17\n\x13\x41WS_SECRETS_MANAGER\x10\x01\x12\x13\n\x0f\x41ZURE_KEY_VAULT\x10\x02\x12\x19\n\x15GOOGLE_SECRET_MANAGER\x10\x03\x42&\n\x18\x63om.keepersecurity.protoB\nEnterpriseb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,382 +32,388 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\nEnterprise' + _globals['_ROLEUSERADDKEYS'].fields_by_name['treeKey']._loaded_options = None + _globals['_ROLEUSERADDKEYS'].fields_by_name['treeKey']._serialized_options = b'\030\001' _globals['_NODE'].fields_by_name['ssoServiceProviderId']._loaded_options = None _globals['_NODE'].fields_by_name['ssoServiceProviderId']._serialized_options = b'\030\001' _globals['_NODE'].fields_by_name['ssoServiceProviderIds']._loaded_options = None _globals['_NODE'].fields_by_name['ssoServiceProviderIds']._serialized_options = b'\020\001' + _globals['_USERUPDATE'].fields_by_name['encryptedData']._loaded_options = None + _globals['_USERUPDATE'].fields_by_name['encryptedData']._serialized_options = b'\030\001' _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST'].fields_by_name['teamKey']._loaded_options = None _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST'].fields_by_name['teamKey']._serialized_options = b'\030\001' - _globals['_KEYTYPE']._serialized_start=20649 - _globals['_KEYTYPE']._serialized_end=20676 - _globals['_ROLEUSERMODIFYSTATUS']._serialized_start=20679 - _globals['_ROLEUSERMODIFYSTATUS']._serialized_end=20961 - _globals['_ENTERPRISETYPE']._serialized_start=20963 - _globals['_ENTERPRISETYPE']._serialized_end=21024 - _globals['_TRANSFERACCEPTANCESTATUS']._serialized_start=21026 - _globals['_TRANSFERACCEPTANCESTATUS']._serialized_end=21141 - _globals['_ENTERPRISEDATAENTITY']._serialized_start=21144 - _globals['_ENTERPRISEDATAENTITY']._serialized_end=21625 - _globals['_CACHESTATUS']._serialized_start=21627 - _globals['_CACHESTATUS']._serialized_end=21661 - _globals['_BACKUPKEYTYPE']._serialized_start=21664 - _globals['_BACKUPKEYTYPE']._serialized_end=21811 - _globals['_BACKUPUSERDATAKEYTYPE']._serialized_start=21813 - _globals['_BACKUPUSERDATAKEYTYPE']._serialized_end=21871 - _globals['_ENCRYPTEDKEYTYPE']._serialized_start=21874 - _globals['_ENCRYPTEDKEYTYPE']._serialized_end=22039 - _globals['_ENTERPRISEFLAGTYPE']._serialized_start=22042 - _globals['_ENTERPRISEFLAGTYPE']._serialized_end=22353 - _globals['_USERUPDATESTATUS']._serialized_start=22355 - _globals['_USERUPDATESTATUS']._serialized_end=22424 - _globals['_AUDITUSERSTATUS']._serialized_start=22426 - _globals['_AUDITUSERSTATUS']._serialized_end=22499 - _globals['_TEAMUSERTYPE']._serialized_start=22501 - _globals['_TEAMUSERTYPE']._serialized_end=22552 - _globals['_APPCLIENTTYPE']._serialized_start=22554 - _globals['_APPCLIENTTYPE']._serialized_end=22674 - _globals['_DELETEENTERPRISEUSERSRESULT']._serialized_start=22677 - _globals['_DELETEENTERPRISEUSERSRESULT']._serialized_end=22820 - _globals['_CLEARSECURITYDATATYPE']._serialized_start=22823 - _globals['_CLEARSECURITYDATATYPE']._serialized_end=22958 - _globals['_RESERVEDOMAINACTION']._serialized_start=22960 - _globals['_RESERVEDOMAINACTION']._serialized_end=23034 - _globals['_USERLOCKSTATUS']._serialized_start=23036 - _globals['_USERLOCKSTATUS']._serialized_end=23151 - _globals['_EXTERNALCLOUDSECRETSSTORETYPE']._serialized_start=23154 - _globals['_EXTERNALCLOUDSECRETSSTORETYPE']._serialized_end=23282 - _globals['_ENTERPRISEKEYPAIRREQUEST']._serialized_start=33 - _globals['_ENTERPRISEKEYPAIRREQUEST']._serialized_end=165 - _globals['_GETTEAMMEMBERREQUEST']._serialized_start=167 - _globals['_GETTEAMMEMBERREQUEST']._serialized_end=206 - _globals['_ENTERPRISEUSER']._serialized_start=208 - _globals['_ENTERPRISEUSER']._serialized_end=333 - _globals['_GETTEAMMEMBERRESPONSE']._serialized_start=335 - _globals['_GETTEAMMEMBERRESPONSE']._serialized_end=410 - _globals['_ENTERPRISEUSERIDS']._serialized_start=412 - _globals['_ENTERPRISEUSERIDS']._serialized_end=457 - _globals['_ENTERPRISEPERSONALACCOUNT']._serialized_start=459 - _globals['_ENTERPRISEPERSONALACCOUNT']._serialized_end=525 - _globals['_ENCRYPTEDTEAMKEYREQUEST']._serialized_start=527 - _globals['_ENCRYPTEDTEAMKEYREQUEST']._serialized_end=610 - _globals['_REENCRYPTEDDATA']._serialized_start=612 - _globals['_REENCRYPTEDDATA']._serialized_end=655 - _globals['_REENCRYPTEDROLEKEY']._serialized_start=657 - _globals['_REENCRYPTEDROLEKEY']._serialized_end=720 - _globals['_REENCRYPTEDUSERDATAKEY']._serialized_start=722 - _globals['_REENCRYPTEDUSERDATAKEY']._serialized_end=802 - _globals['_NODETOMANAGEDCOMPANYREQUEST']._serialized_start=805 - _globals['_NODETOMANAGEDCOMPANYREQUEST']._serialized_end=1149 - _globals['_ROLETEAM']._serialized_start=1151 - _globals['_ROLETEAM']._serialized_end=1195 - _globals['_ROLETEAMS']._serialized_start=1197 - _globals['_ROLETEAMS']._serialized_end=1249 - _globals['_TEAMSBYROLE']._serialized_start=1251 - _globals['_TEAMSBYROLE']._serialized_end=1298 - _globals['_MANAGEDNODESBYROLE']._serialized_start=1300 - _globals['_MANAGEDNODESBYROLE']._serialized_end=1360 - _globals['_ROLEUSERADDKEYS']._serialized_start=1362 - _globals['_ROLEUSERADDKEYS']._serialized_end=1444 - _globals['_ROLEUSERADD']._serialized_start=1446 - _globals['_ROLEUSERADD']._serialized_end=1530 - _globals['_ROLEUSERSADDREQUEST']._serialized_start=1532 - _globals['_ROLEUSERSADDREQUEST']._serialized_end=1600 - _globals['_ROLEUSERADDRESULT']._serialized_start=1603 - _globals['_ROLEUSERADDRESULT']._serialized_end=1731 - _globals['_ROLEUSERSADDRESPONSE']._serialized_start=1733 - _globals['_ROLEUSERSADDRESPONSE']._serialized_end=1803 - _globals['_ROLEUSERREMOVE']._serialized_start=1805 - _globals['_ROLEUSERREMOVE']._serialized_end=1865 - _globals['_ROLEUSERSREMOVEREQUEST']._serialized_start=1867 - _globals['_ROLEUSERSREMOVEREQUEST']._serialized_end=1944 - _globals['_ROLEUSERREMOVERESULT']._serialized_start=1947 - _globals['_ROLEUSERREMOVERESULT']._serialized_end=2078 - _globals['_ROLEUSERSREMOVERESPONSE']._serialized_start=2080 - _globals['_ROLEUSERSREMOVERESPONSE']._serialized_end=2156 - _globals['_ENTERPRISEREGISTRATION']._serialized_start=2159 - _globals['_ENTERPRISEREGISTRATION']._serialized_end=2703 - _globals['_DOMAINPASSWORDRULESREQUEST']._serialized_start=2705 - _globals['_DOMAINPASSWORDRULESREQUEST']._serialized_end=2777 - _globals['_DOMAINPASSWORDRULESFIELDS']._serialized_start=2779 - _globals['_DOMAINPASSWORDRULESFIELDS']._serialized_end=2871 - _globals['_LOGINTOMCREQUEST']._serialized_start=2873 - _globals['_LOGINTOMCREQUEST']._serialized_end=2942 - _globals['_LOGINTOMCRESPONSE']._serialized_start=2944 - _globals['_LOGINTOMCRESPONSE']._serialized_end=3063 - _globals['_DOMAINPASSWORDRULESRESPONSE']._serialized_start=3065 - _globals['_DOMAINPASSWORDRULESRESPONSE']._serialized_end=3168 - _globals['_APPROVEUSERDEVICEREQUEST']._serialized_start=3171 - _globals['_APPROVEUSERDEVICEREQUEST']._serialized_end=3307 - _globals['_APPROVEUSERDEVICERESPONSE']._serialized_start=3309 - _globals['_APPROVEUSERDEVICERESPONSE']._serialized_end=3425 - _globals['_APPROVEUSERDEVICESREQUEST']._serialized_start=3427 - _globals['_APPROVEUSERDEVICESREQUEST']._serialized_end=3516 - _globals['_APPROVEUSERDEVICESRESPONSE']._serialized_start=3518 - _globals['_APPROVEUSERDEVICESRESPONSE']._serialized_end=3610 - _globals['_ENTERPRISEUSERDATAKEY']._serialized_start=3613 - _globals['_ENTERPRISEUSERDATAKEY']._serialized_end=3748 - _globals['_ENTERPRISEUSERDATAKEYS']._serialized_start=3750 - _globals['_ENTERPRISEUSERDATAKEYS']._serialized_end=3823 - _globals['_ENTERPRISEUSERDATAKEYLIGHT']._serialized_start=3825 - _globals['_ENTERPRISEUSERDATAKEYLIGHT']._serialized_end=3928 - _globals['_ENTERPRISEUSERDATAKEYSBYNODE']._serialized_start=3930 - _globals['_ENTERPRISEUSERDATAKEYSBYNODE']._serialized_end=4030 - _globals['_ENTERPRISEUSERDATAKEYSBYNODERESPONSE']._serialized_start=4032 - _globals['_ENTERPRISEUSERDATAKEYSBYNODERESPONSE']._serialized_end=4126 - _globals['_ENTERPRISEDATAREQUEST']._serialized_start=4128 - _globals['_ENTERPRISEDATAREQUEST']._serialized_end=4178 - _globals['_SPECIALPROVISIONING']._serialized_start=4180 - _globals['_SPECIALPROVISIONING']._serialized_end=4228 - _globals['_GENERALDATAENTITY']._serialized_start=4231 - _globals['_GENERALDATAENTITY']._serialized_end=4491 - _globals['_NODE']._serialized_start=4494 - _globals['_NODE']._serialized_end=4747 - _globals['_ROLE']._serialized_start=4750 - _globals['_ROLE']._serialized_end=4892 - _globals['_USER']._serialized_start=4895 - _globals['_USER']._serialized_end=5207 - _globals['_USERALIAS']._serialized_start=5209 - _globals['_USERALIAS']._serialized_end=5264 - _globals['_COMPLIANCEREPORTMETADATA']._serialized_start=5267 - _globals['_COMPLIANCEREPORTMETADATA']._serialized_end=5439 - _globals['_MANAGEDNODE']._serialized_start=5441 - _globals['_MANAGEDNODE']._serialized_end=5524 - _globals['_USERMANAGEDNODE']._serialized_start=5526 - _globals['_USERMANAGEDNODE']._serialized_end=5610 - _globals['_USERPRIVILEGE']._serialized_start=5612 - _globals['_USERPRIVILEGE']._serialized_end=5731 - _globals['_ROLEUSER']._serialized_start=5733 - _globals['_ROLEUSER']._serialized_end=5785 - _globals['_ROLEPRIVILEGE']._serialized_start=5787 - _globals['_ROLEPRIVILEGE']._serialized_end=5864 - _globals['_PRIVILEGESBYMANAGEDNODE']._serialized_start=5866 - _globals['_PRIVILEGESBYMANAGEDNODE']._serialized_end=5950 - _globals['_ROLEENFORCEMENT']._serialized_start=5952 - _globals['_ROLEENFORCEMENT']._serialized_end=6025 - _globals['_TEAM']._serialized_start=6028 - _globals['_TEAM']._serialized_end=6197 - _globals['_TEAMUSER']._serialized_start=6199 - _globals['_TEAMUSER']._serialized_end=6270 - _globals['_GETDISTRIBUTORINFORESPONSE']._serialized_start=6272 - _globals['_GETDISTRIBUTORINFORESPONSE']._serialized_end=6347 - _globals['_DISTRIBUTOR']._serialized_start=6349 - _globals['_DISTRIBUTOR']._serialized_end=6415 - _globals['_MSPINFO']._serialized_start=6418 - _globals['_MSPINFO']._serialized_end=6703 - _globals['_MANAGEDCOMPANY']._serialized_start=6706 - _globals['_MANAGEDCOMPANY']._serialized_end=7002 - _globals['_MSPPOOL']._serialized_start=7004 - _globals['_MSPPOOL']._serialized_end=7086 - _globals['_MSPCONTACT']._serialized_start=7088 - _globals['_MSPCONTACT']._serialized_end=7146 - _globals['_LICENSEADDON']._serialized_start=7149 - _globals['_LICENSEADDON']._serialized_end=7409 - _globals['_MCDEFAULT']._serialized_start=7411 - _globals['_MCDEFAULT']._serialized_end=7526 - _globals['_MSPPERMITS']._serialized_start=7529 - _globals['_MSPPERMITS']._serialized_end=7739 - _globals['_LICENSE']._serialized_start=7742 - _globals['_LICENSE']._serialized_end=8286 - _globals['_BRIDGE']._serialized_start=8288 - _globals['_BRIDGE']._serialized_end=8398 - _globals['_SCIM']._serialized_start=8400 - _globals['_SCIM']._serialized_end=8516 - _globals['_EMAILPROVISION']._serialized_start=8518 - _globals['_EMAILPROVISION']._serialized_end=8594 - _globals['_QUEUEDTEAM']._serialized_start=8596 - _globals['_QUEUEDTEAM']._serialized_end=8678 - _globals['_QUEUEDTEAMUSER']._serialized_start=8680 - _globals['_QUEUEDTEAMUSER']._serialized_end=8728 - _globals['_TEAMSADDRESULT']._serialized_start=8731 - _globals['_TEAMSADDRESULT']._serialized_end=8895 - _globals['_TEAMADDRESULT']._serialized_start=8897 - _globals['_TEAMADDRESULT']._serialized_end=8982 - _globals['_SSOSERVICE']._serialized_start=8985 - _globals['_SSOSERVICE']._serialized_end=9130 - _globals['_REPORTFILTERUSER']._serialized_start=9132 - _globals['_REPORTFILTERUSER']._serialized_end=9181 - _globals['_DEVICEREQUESTFORADMINAPPROVAL']._serialized_start=9184 - _globals['_DEVICEREQUESTFORADMINAPPROVAL']._serialized_end=9463 - _globals['_ENTERPRISEDATA']._serialized_start=9465 - _globals['_ENTERPRISEDATA']._serialized_end=9561 - _globals['_ENTERPRISEDATARESPONSE']._serialized_start=9564 - _globals['_ENTERPRISEDATARESPONSE']._serialized_end=9772 - _globals['_BACKUPREQUEST']._serialized_start=9774 - _globals['_BACKUPREQUEST']._serialized_end=9816 - _globals['_BACKUPRECORD']._serialized_start=9819 - _globals['_BACKUPRECORD']._serialized_end=9971 - _globals['_BACKUPKEY']._serialized_start=9973 - _globals['_BACKUPKEY']._serialized_end=10019 - _globals['_BACKUPUSER']._serialized_start=10022 - _globals['_BACKUPUSER']._serialized_end=10291 - _globals['_BACKUPRESPONSE']._serialized_start=10294 - _globals['_BACKUPRESPONSE']._serialized_end=10452 - _globals['_BACKUPFILE']._serialized_start=10454 - _globals['_BACKUPFILE']._serialized_end=10555 - _globals['_BACKUPSRESPONSE']._serialized_start=10557 - _globals['_BACKUPSRESPONSE']._serialized_end=10613 - _globals['_GETENTERPRISEDATAKEYSREQUEST']._serialized_start=10615 - _globals['_GETENTERPRISEDATAKEYSREQUEST']._serialized_end=10661 - _globals['_GETENTERPRISEDATAKEYSRESPONSE']._serialized_start=10664 - _globals['_GETENTERPRISEDATAKEYSRESPONSE']._serialized_end=10919 - _globals['_ROLEKEY']._serialized_start=10921 - _globals['_ROLEKEY']._serialized_end=11015 - _globals['_MSPKEY']._serialized_start=11017 - _globals['_MSPKEY']._serialized_end=11117 - _globals['_ENTERPRISEKEYS']._serialized_start=11119 - _globals['_ENTERPRISEKEYS']._serialized_end=11243 - _globals['_TREEKEY']._serialized_start=11245 - _globals['_TREEKEY']._serialized_end=11317 - _globals['_SHAREDRECORDRESPONSE']._serialized_start=11319 - _globals['_SHAREDRECORDRESPONSE']._serialized_end=11388 - _globals['_SHAREDRECORDEVENT']._serialized_start=11390 - _globals['_SHAREDRECORDEVENT']._serialized_end=11502 - _globals['_SETRESTRICTVISIBILITYREQUEST']._serialized_start=11504 - _globals['_SETRESTRICTVISIBILITYREQUEST']._serialized_end=11550 - _globals['_USERADDREQUEST']._serialized_start=11553 - _globals['_USERADDREQUEST']._serialized_end=11761 - _globals['_USERUPDATEREQUEST']._serialized_start=11763 - _globals['_USERUPDATEREQUEST']._serialized_end=11821 - _globals['_USERUPDATE']._serialized_start=11824 - _globals['_USERUPDATE']._serialized_end=11999 - _globals['_USERUPDATERESPONSE']._serialized_start=12001 - _globals['_USERUPDATERESPONSE']._serialized_end=12066 - _globals['_USERUPDATERESULT']._serialized_start=12068 - _globals['_USERUPDATERESULT']._serialized_end=12158 - _globals['_COMPLIANCERECORDOWNERSREQUEST']._serialized_start=12160 - _globals['_COMPLIANCERECORDOWNERSREQUEST']._serialized_end=12234 - _globals['_COMPLIANCERECORDOWNERSRESPONSE']._serialized_start=12236 - _globals['_COMPLIANCERECORDOWNERSRESPONSE']._serialized_end=12315 - _globals['_RECORDOWNER']._serialized_start=12317 - _globals['_RECORDOWNER']._serialized_end=12372 - _globals['_PRELIMINARYCOMPLIANCEDATAREQUEST']._serialized_start=12375 - _globals['_PRELIMINARYCOMPLIANCEDATAREQUEST']._serialized_end=12541 - _globals['_PRELIMINARYCOMPLIANCEDATARESPONSE']._serialized_start=12544 - _globals['_PRELIMINARYCOMPLIANCEDATARESPONSE']._serialized_end=12703 - _globals['_AUDITUSERRECORD']._serialized_start=12705 - _globals['_AUDITUSERRECORD']._serialized_end=12780 - _globals['_AUDITUSERDATA']._serialized_start=12783 - _globals['_AUDITUSERDATA']._serialized_end=12924 - _globals['_COMPLIANCEREPORTFILTERS']._serialized_start=12926 - _globals['_COMPLIANCEREPORTFILTERS']._serialized_end=13053 - _globals['_COMPLIANCEREPORTREQUEST']._serialized_start=13055 - _globals['_COMPLIANCEREPORTREQUEST']._serialized_end=13182 - _globals['_COMPLIANCEREPORTRUN']._serialized_start=13185 - _globals['_COMPLIANCEREPORTRUN']._serialized_end=13318 - _globals['_COMPLIANCEREPORTCRITERIAANDFILTER']._serialized_start=13321 - _globals['_COMPLIANCEREPORTCRITERIAANDFILTER']._serialized_end=13573 - _globals['_COMPLIANCEREPORTCRITERIA']._serialized_start=13575 - _globals['_COMPLIANCEREPORTCRITERIA']._serialized_end=13673 - _globals['_COMPLIANCEREPORTFILTER']._serialized_start=13675 - _globals['_COMPLIANCEREPORTFILTER']._serialized_end=13795 - _globals['_COMPLIANCEREPORTRESPONSE']._serialized_start=13798 - _globals['_COMPLIANCEREPORTRESPONSE']._serialized_end=14471 - _globals['_AUDITRECORD']._serialized_start=14474 - _globals['_AUDITRECORD']._serialized_end=14603 - _globals['_AUDITROLE']._serialized_start=14606 - _globals['_AUDITROLE']._serialized_end=14862 - _globals['_ROLENODEMANAGEMENT']._serialized_start=14864 - _globals['_ROLENODEMANAGEMENT']._serialized_end=14958 - _globals['_USERPROFILE']._serialized_start=14960 - _globals['_USERPROFILE']._serialized_end=15067 - _globals['_RECORDPERMISSION']._serialized_start=15069 - _globals['_RECORDPERMISSION']._serialized_end=15130 - _globals['_USERRECORD']._serialized_start=15132 - _globals['_USERRECORD']._serialized_end=15227 - _globals['_AUDITTEAM']._serialized_start=15229 - _globals['_AUDITTEAM']._serialized_end=15320 - _globals['_AUDITTEAMUSER']._serialized_start=15322 - _globals['_AUDITTEAMUSER']._serialized_end=15381 - _globals['_SHAREDFOLDERRECORD']._serialized_start=15384 - _globals['_SHAREDFOLDERRECORD']._serialized_end=15543 - _globals['_SHAREADMINRECORD']._serialized_start=15545 - _globals['_SHAREADMINRECORD']._serialized_end=15622 - _globals['_SHAREDFOLDERUSER']._serialized_start=15624 - _globals['_SHAREDFOLDERUSER']._serialized_end=15694 - _globals['_SHAREDFOLDERTEAM']._serialized_start=15696 - _globals['_SHAREDFOLDERTEAM']._serialized_end=15757 - _globals['_GETCOMPLIANCEREPORTREQUEST']._serialized_start=15759 - _globals['_GETCOMPLIANCEREPORTREQUEST']._serialized_end=15806 - _globals['_GETCOMPLIANCEREPORTRESPONSE']._serialized_start=15808 - _globals['_GETCOMPLIANCEREPORTRESPONSE']._serialized_end=15858 - _globals['_COMPLIANCEREPORTCRITERIAREQUEST']._serialized_start=15860 - _globals['_COMPLIANCEREPORTCRITERIAREQUEST']._serialized_end=15914 - _globals['_SAVECOMPLIANCEREPORTCRITERIARESPONSE']._serialized_start=15916 - _globals['_SAVECOMPLIANCEREPORTCRITERIARESPONSE']._serialized_end=15975 - _globals['_LINKEDRECORD']._serialized_start=15977 - _globals['_LINKEDRECORD']._serialized_end=16029 - _globals['_GETSHARINGADMINSREQUEST']._serialized_start=16031 - _globals['_GETSHARINGADMINSREQUEST']._serialized_end=16118 - _globals['_USERPROFILEEXT']._serialized_start=16121 - _globals['_USERPROFILEEXT']._serialized_end=16345 - _globals['_GETSHARINGADMINSRESPONSE']._serialized_start=16347 - _globals['_GETSHARINGADMINSRESPONSE']._serialized_end=16426 - _globals['_TEAMSENTERPRISEUSERSADDREQUEST']._serialized_start=16428 - _globals['_TEAMSENTERPRISEUSERSADDREQUEST']._serialized_end=16523 - _globals['_TEAMSENTERPRISEUSERSADDTEAMREQUEST']._serialized_start=16525 - _globals['_TEAMSENTERPRISEUSERSADDTEAMREQUEST']._serialized_end=16641 - _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST']._serialized_start=16644 - _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST']._serialized_end=16815 - _globals['_TYPEDKEY']._serialized_start=16817 - _globals['_TYPEDKEY']._serialized_end=16887 - _globals['_TEAMSENTERPRISEUSERSADDRESPONSE']._serialized_start=16889 - _globals['_TEAMSENTERPRISEUSERSADDRESPONSE']._serialized_end=17004 - _globals['_TEAMSENTERPRISEUSERSADDTEAMRESPONSE']._serialized_start=17007 - _globals['_TEAMSENTERPRISEUSERSADDTEAMRESPONSE']._serialized_end=17203 - _globals['_TEAMSENTERPRISEUSERSADDUSERRESPONSE']._serialized_start=17206 - _globals['_TEAMSENTERPRISEUSERSADDUSERRESPONSE']._serialized_end=17365 - _globals['_TEAMENTERPRISEUSERREMOVE']._serialized_start=17367 - _globals['_TEAMENTERPRISEUSERREMOVE']._serialized_end=17436 - _globals['_TEAMENTERPRISEUSERREMOVESREQUEST']._serialized_start=17438 - _globals['_TEAMENTERPRISEUSERREMOVESREQUEST']._serialized_end=17544 - _globals['_TEAMENTERPRISEUSERREMOVESRESPONSE']._serialized_start=17546 - _globals['_TEAMENTERPRISEUSERREMOVESRESPONSE']._serialized_end=17669 - _globals['_TEAMENTERPRISEUSERREMOVERESPONSE']._serialized_start=17672 - _globals['_TEAMENTERPRISEUSERREMOVERESPONSE']._serialized_end=17856 - _globals['_DOMAINALIAS']._serialized_start=17858 - _globals['_DOMAINALIAS']._serialized_end=17935 - _globals['_DOMAINALIASREQUEST']._serialized_start=17937 - _globals['_DOMAINALIASREQUEST']._serialized_end=18003 - _globals['_DOMAINALIASRESPONSE']._serialized_start=18005 - _globals['_DOMAINALIASRESPONSE']._serialized_end=18072 - _globals['_ENTERPRISEUSERSPROVISIONREQUEST']._serialized_start=18074 - _globals['_ENTERPRISEUSERSPROVISIONREQUEST']._serialized_end=18183 - _globals['_ENTERPRISEUSERSPROVISION']._serialized_start=18186 - _globals['_ENTERPRISEUSERSPROVISION']._serialized_end=18624 - _globals['_ENTERPRISEUSERSPROVISIONRESPONSE']._serialized_start=18626 - _globals['_ENTERPRISEUSERSPROVISIONRESPONSE']._serialized_end=18721 - _globals['_ENTERPRISEUSERSPROVISIONRESULT']._serialized_start=18723 - _globals['_ENTERPRISEUSERSPROVISIONRESULT']._serialized_end=18836 - _globals['_ENTERPRISEUSERSADDREQUEST']._serialized_start=18838 - _globals['_ENTERPRISEUSERSADDREQUEST']._serialized_end=18935 - _globals['_ENTERPRISEUSERSADD']._serialized_start=18938 - _globals['_ENTERPRISEUSERSADD']._serialized_end=19206 - _globals['_ENTERPRISEUSERSADDRESPONSE']._serialized_start=19209 - _globals['_ENTERPRISEUSERSADDRESPONSE']._serialized_end=19364 - _globals['_ENTERPRISEUSERSADDRESULT']._serialized_start=19367 - _globals['_ENTERPRISEUSERSADDRESULT']._serialized_end=19517 - _globals['_UPDATEMSPPERMITSREQUEST']._serialized_start=19520 - _globals['_UPDATEMSPPERMITSREQUEST']._serialized_end=19705 - _globals['_DELETEENTERPRISEUSERSREQUEST']._serialized_start=19707 - _globals['_DELETEENTERPRISEUSERSREQUEST']._serialized_end=19764 - _globals['_DELETEENTERPRISEUSERSTATUS']._serialized_start=19766 - _globals['_DELETEENTERPRISEUSERSTATUS']._serialized_end=19877 - _globals['_DELETEENTERPRISEUSERSRESPONSE']._serialized_start=19879 - _globals['_DELETEENTERPRISEUSERSRESPONSE']._serialized_end=19972 - _globals['_CLEARSECURITYDATAREQUEST']._serialized_start=19974 - _globals['_CLEARSECURITYDATAREQUEST']._serialized_end=20093 - _globals['_LISTDOMAINSRESPONSE']._serialized_start=20095 - _globals['_LISTDOMAINSRESPONSE']._serialized_end=20132 - _globals['_RESERVEDOMAINREQUEST']._serialized_start=20134 - _globals['_RESERVEDOMAINREQUEST']._serialized_end=20234 - _globals['_RESERVEDOMAINRESPONSE']._serialized_start=20236 - _globals['_RESERVEDOMAINRESPONSE']._serialized_end=20274 - _globals['_ROLESBYTEAM']._serialized_start=20276 - _globals['_ROLESBYTEAM']._serialized_end=20322 - _globals['_LOCKUSERSREQUEST']._serialized_start=20325 - _globals['_LOCKUSERSREQUEST']._serialized_end=20466 - _globals['_LOCKUSERSRESPONSE']._serialized_start=20468 - _globals['_LOCKUSERSRESPONSE']._serialized_end=20535 - _globals['_LOCKUSERRESPONSE']._serialized_start=20537 - _globals['_LOCKUSERRESPONSE']._serialized_end=20647 + _globals['_KEYTYPE']._serialized_start=21125 + _globals['_KEYTYPE']._serialized_end=21152 + _globals['_ROLEUSERMODIFYSTATUS']._serialized_start=21155 + _globals['_ROLEUSERMODIFYSTATUS']._serialized_end=21458 + _globals['_ENTERPRISETYPE']._serialized_start=21460 + _globals['_ENTERPRISETYPE']._serialized_end=21521 + _globals['_TRANSFERACCEPTANCESTATUS']._serialized_start=21523 + _globals['_TRANSFERACCEPTANCESTATUS']._serialized_end=21638 + _globals['_ENTERPRISEDATAENTITY']._serialized_start=21641 + _globals['_ENTERPRISEDATAENTITY']._serialized_end=22122 + _globals['_CACHESTATUS']._serialized_start=22124 + _globals['_CACHESTATUS']._serialized_end=22158 + _globals['_BACKUPKEYTYPE']._serialized_start=22161 + _globals['_BACKUPKEYTYPE']._serialized_end=22308 + _globals['_BACKUPUSERDATAKEYTYPE']._serialized_start=22310 + _globals['_BACKUPUSERDATAKEYTYPE']._serialized_end=22368 + _globals['_ENCRYPTEDKEYTYPE']._serialized_start=22371 + _globals['_ENCRYPTEDKEYTYPE']._serialized_end=22536 + _globals['_ENTERPRISEFLAGTYPE']._serialized_start=22539 + _globals['_ENTERPRISEFLAGTYPE']._serialized_end=22850 + _globals['_USERUPDATESTATUS']._serialized_start=22853 + _globals['_USERUPDATESTATUS']._serialized_end=23096 + _globals['_AUDITUSERSTATUS']._serialized_start=23098 + _globals['_AUDITUSERSTATUS']._serialized_end=23171 + _globals['_TEAMUSERTYPE']._serialized_start=23173 + _globals['_TEAMUSERTYPE']._serialized_end=23224 + _globals['_APPCLIENTTYPE']._serialized_start=23226 + _globals['_APPCLIENTTYPE']._serialized_end=23346 + _globals['_DELETEENTERPRISEUSERSRESULT']._serialized_start=23349 + _globals['_DELETEENTERPRISEUSERSRESULT']._serialized_end=23492 + _globals['_CLEARSECURITYDATATYPE']._serialized_start=23495 + _globals['_CLEARSECURITYDATATYPE']._serialized_end=23630 + _globals['_RESERVEDOMAINACTION']._serialized_start=23632 + _globals['_RESERVEDOMAINACTION']._serialized_end=23706 + _globals['_USERLOCKSTATUS']._serialized_start=23708 + _globals['_USERLOCKSTATUS']._serialized_end=23823 + _globals['_EXTERNALCLOUDSECRETSSTORETYPE']._serialized_start=23826 + _globals['_EXTERNALCLOUDSECRETSSTORETYPE']._serialized_end=23954 + _globals['_ENTERPRISEKEYPAIRREQUEST']._serialized_start=47 + _globals['_ENTERPRISEKEYPAIRREQUEST']._serialized_end=179 + _globals['_GETTEAMMEMBERREQUEST']._serialized_start=181 + _globals['_GETTEAMMEMBERREQUEST']._serialized_end=220 + _globals['_ENTERPRISEUSER']._serialized_start=222 + _globals['_ENTERPRISEUSER']._serialized_end=347 + _globals['_GETTEAMMEMBERRESPONSE']._serialized_start=349 + _globals['_GETTEAMMEMBERRESPONSE']._serialized_end=424 + _globals['_ENTERPRISEUSERIDS']._serialized_start=426 + _globals['_ENTERPRISEUSERIDS']._serialized_end=471 + _globals['_ENTERPRISEPERSONALACCOUNT']._serialized_start=473 + _globals['_ENTERPRISEPERSONALACCOUNT']._serialized_end=539 + _globals['_ENCRYPTEDTEAMKEYREQUEST']._serialized_start=541 + _globals['_ENCRYPTEDTEAMKEYREQUEST']._serialized_end=624 + _globals['_REENCRYPTEDDATA']._serialized_start=626 + _globals['_REENCRYPTEDDATA']._serialized_end=669 + _globals['_REENCRYPTEDROLEKEY']._serialized_start=671 + _globals['_REENCRYPTEDROLEKEY']._serialized_end=734 + _globals['_REENCRYPTEDUSERDATAKEY']._serialized_start=736 + _globals['_REENCRYPTEDUSERDATAKEY']._serialized_end=816 + _globals['_NODETOMANAGEDCOMPANYREQUEST']._serialized_start=819 + _globals['_NODETOMANAGEDCOMPANYREQUEST']._serialized_end=1163 + _globals['_ROLETEAM']._serialized_start=1165 + _globals['_ROLETEAM']._serialized_end=1209 + _globals['_ROLETEAMS']._serialized_start=1211 + _globals['_ROLETEAMS']._serialized_end=1263 + _globals['_TEAMSBYROLE']._serialized_start=1265 + _globals['_TEAMSBYROLE']._serialized_end=1312 + _globals['_MANAGEDNODESBYROLE']._serialized_start=1314 + _globals['_MANAGEDNODESBYROLE']._serialized_end=1374 + _globals['_ROLEUSERADDKEYS']._serialized_start=1377 + _globals['_ROLEUSERADDKEYS']._serialized_end=1507 + _globals['_ROLEUSERADD']._serialized_start=1509 + _globals['_ROLEUSERADD']._serialized_end=1593 + _globals['_ROLEUSERSADDREQUEST']._serialized_start=1595 + _globals['_ROLEUSERSADDREQUEST']._serialized_end=1663 + _globals['_ROLEUSERADDRESULT']._serialized_start=1666 + _globals['_ROLEUSERADDRESULT']._serialized_end=1794 + _globals['_ROLEUSERSADDRESPONSE']._serialized_start=1796 + _globals['_ROLEUSERSADDRESPONSE']._serialized_end=1866 + _globals['_ROLEUSERREMOVE']._serialized_start=1868 + _globals['_ROLEUSERREMOVE']._serialized_end=1928 + _globals['_ROLEUSERSREMOVEREQUEST']._serialized_start=1930 + _globals['_ROLEUSERSREMOVEREQUEST']._serialized_end=2007 + _globals['_ROLEUSERREMOVERESULT']._serialized_start=2010 + _globals['_ROLEUSERREMOVERESULT']._serialized_end=2141 + _globals['_ROLEUSERSREMOVERESPONSE']._serialized_start=2143 + _globals['_ROLEUSERSREMOVERESPONSE']._serialized_end=2219 + _globals['_ENTERPRISEREGISTRATION']._serialized_start=2222 + _globals['_ENTERPRISEREGISTRATION']._serialized_end=2766 + _globals['_DOMAINPASSWORDRULESREQUEST']._serialized_start=2768 + _globals['_DOMAINPASSWORDRULESREQUEST']._serialized_end=2840 + _globals['_DOMAINPASSWORDRULESFIELDS']._serialized_start=2842 + _globals['_DOMAINPASSWORDRULESFIELDS']._serialized_end=2934 + _globals['_LOGINTOMCREQUEST']._serialized_start=2936 + _globals['_LOGINTOMCREQUEST']._serialized_end=3005 + _globals['_LOGINTOMCRESPONSE']._serialized_start=3007 + _globals['_LOGINTOMCRESPONSE']._serialized_end=3126 + _globals['_DOMAINPASSWORDRULESRESPONSE']._serialized_start=3128 + _globals['_DOMAINPASSWORDRULESRESPONSE']._serialized_end=3231 + _globals['_APPROVEUSERDEVICEREQUEST']._serialized_start=3234 + _globals['_APPROVEUSERDEVICEREQUEST']._serialized_end=3370 + _globals['_APPROVEUSERDEVICERESPONSE']._serialized_start=3372 + _globals['_APPROVEUSERDEVICERESPONSE']._serialized_end=3488 + _globals['_APPROVEUSERDEVICESREQUEST']._serialized_start=3490 + _globals['_APPROVEUSERDEVICESREQUEST']._serialized_end=3579 + _globals['_APPROVEUSERDEVICESRESPONSE']._serialized_start=3581 + _globals['_APPROVEUSERDEVICESRESPONSE']._serialized_end=3673 + _globals['_ENTERPRISEUSERDATAKEY']._serialized_start=3676 + _globals['_ENTERPRISEUSERDATAKEY']._serialized_end=3811 + _globals['_ENTERPRISEUSERDATAKEYS']._serialized_start=3813 + _globals['_ENTERPRISEUSERDATAKEYS']._serialized_end=3886 + _globals['_ENTERPRISEUSERDATAKEYLIGHT']._serialized_start=3888 + _globals['_ENTERPRISEUSERDATAKEYLIGHT']._serialized_end=3991 + _globals['_ENTERPRISEUSERDATAKEYSBYNODE']._serialized_start=3993 + _globals['_ENTERPRISEUSERDATAKEYSBYNODE']._serialized_end=4093 + _globals['_ENTERPRISEUSERDATAKEYSBYNODERESPONSE']._serialized_start=4095 + _globals['_ENTERPRISEUSERDATAKEYSBYNODERESPONSE']._serialized_end=4189 + _globals['_ENTERPRISEDATAREQUEST']._serialized_start=4191 + _globals['_ENTERPRISEDATAREQUEST']._serialized_end=4241 + _globals['_SPECIALPROVISIONING']._serialized_start=4243 + _globals['_SPECIALPROVISIONING']._serialized_end=4291 + _globals['_GENERALDATAENTITY']._serialized_start=4294 + _globals['_GENERALDATAENTITY']._serialized_end=4554 + _globals['_NODE']._serialized_start=4557 + _globals['_NODE']._serialized_end=4810 + _globals['_ROLE']._serialized_start=4813 + _globals['_ROLE']._serialized_end=4955 + _globals['_USER']._serialized_start=4958 + _globals['_USER']._serialized_end=5270 + _globals['_USERALIAS']._serialized_start=5272 + _globals['_USERALIAS']._serialized_end=5327 + _globals['_COMPLIANCEREPORTMETADATA']._serialized_start=5330 + _globals['_COMPLIANCEREPORTMETADATA']._serialized_end=5502 + _globals['_MANAGEDNODE']._serialized_start=5504 + _globals['_MANAGEDNODE']._serialized_end=5587 + _globals['_USERMANAGEDNODE']._serialized_start=5589 + _globals['_USERMANAGEDNODE']._serialized_end=5673 + _globals['_USERPRIVILEGE']._serialized_start=5675 + _globals['_USERPRIVILEGE']._serialized_end=5794 + _globals['_ROLEUSER']._serialized_start=5796 + _globals['_ROLEUSER']._serialized_end=5848 + _globals['_ROLEPRIVILEGE']._serialized_start=5850 + _globals['_ROLEPRIVILEGE']._serialized_end=5927 + _globals['_PRIVILEGESBYMANAGEDNODE']._serialized_start=5929 + _globals['_PRIVILEGESBYMANAGEDNODE']._serialized_end=6013 + _globals['_ROLEENFORCEMENT']._serialized_start=6015 + _globals['_ROLEENFORCEMENT']._serialized_end=6088 + _globals['_TEAM']._serialized_start=6091 + _globals['_TEAM']._serialized_end=6260 + _globals['_TEAMUSER']._serialized_start=6262 + _globals['_TEAMUSER']._serialized_end=6333 + _globals['_GETDISTRIBUTORINFORESPONSE']._serialized_start=6335 + _globals['_GETDISTRIBUTORINFORESPONSE']._serialized_end=6410 + _globals['_DISTRIBUTOR']._serialized_start=6412 + _globals['_DISTRIBUTOR']._serialized_end=6478 + _globals['_MSPINFO']._serialized_start=6481 + _globals['_MSPINFO']._serialized_end=6766 + _globals['_MANAGEDCOMPANY']._serialized_start=6769 + _globals['_MANAGEDCOMPANY']._serialized_end=7065 + _globals['_MSPPOOL']._serialized_start=7067 + _globals['_MSPPOOL']._serialized_end=7149 + _globals['_MSPCONTACT']._serialized_start=7151 + _globals['_MSPCONTACT']._serialized_end=7209 + _globals['_LICENSEADDON']._serialized_start=7212 + _globals['_LICENSEADDON']._serialized_end=7472 + _globals['_MCDEFAULT']._serialized_start=7474 + _globals['_MCDEFAULT']._serialized_end=7589 + _globals['_MSPPERMITS']._serialized_start=7592 + _globals['_MSPPERMITS']._serialized_end=7802 + _globals['_LICENSE']._serialized_start=7805 + _globals['_LICENSE']._serialized_end=8349 + _globals['_BRIDGE']._serialized_start=8351 + _globals['_BRIDGE']._serialized_end=8461 + _globals['_SCIM']._serialized_start=8463 + _globals['_SCIM']._serialized_end=8579 + _globals['_EMAILPROVISION']._serialized_start=8581 + _globals['_EMAILPROVISION']._serialized_end=8657 + _globals['_QUEUEDTEAM']._serialized_start=8659 + _globals['_QUEUEDTEAM']._serialized_end=8741 + _globals['_QUEUEDTEAMUSER']._serialized_start=8743 + _globals['_QUEUEDTEAMUSER']._serialized_end=8791 + _globals['_TEAMSADDRESULT']._serialized_start=8794 + _globals['_TEAMSADDRESULT']._serialized_end=8958 + _globals['_TEAMADDRESULT']._serialized_start=8960 + _globals['_TEAMADDRESULT']._serialized_end=9045 + _globals['_SSOSERVICE']._serialized_start=9048 + _globals['_SSOSERVICE']._serialized_end=9193 + _globals['_REPORTFILTERUSER']._serialized_start=9195 + _globals['_REPORTFILTERUSER']._serialized_end=9244 + _globals['_DEVICEREQUESTFORADMINAPPROVAL']._serialized_start=9247 + _globals['_DEVICEREQUESTFORADMINAPPROVAL']._serialized_end=9526 + _globals['_ENTERPRISEDATA']._serialized_start=9528 + _globals['_ENTERPRISEDATA']._serialized_end=9624 + _globals['_ENTERPRISEDATARESPONSE']._serialized_start=9627 + _globals['_ENTERPRISEDATARESPONSE']._serialized_end=9835 + _globals['_BACKUPREQUEST']._serialized_start=9837 + _globals['_BACKUPREQUEST']._serialized_end=9879 + _globals['_BACKUPRECORD']._serialized_start=9882 + _globals['_BACKUPRECORD']._serialized_end=10034 + _globals['_BACKUPKEY']._serialized_start=10036 + _globals['_BACKUPKEY']._serialized_end=10082 + _globals['_BACKUPUSER']._serialized_start=10085 + _globals['_BACKUPUSER']._serialized_end=10354 + _globals['_BACKUPRESPONSE']._serialized_start=10357 + _globals['_BACKUPRESPONSE']._serialized_end=10515 + _globals['_BACKUPFILE']._serialized_start=10517 + _globals['_BACKUPFILE']._serialized_end=10618 + _globals['_BACKUPSRESPONSE']._serialized_start=10620 + _globals['_BACKUPSRESPONSE']._serialized_end=10676 + _globals['_GETENTERPRISEDATAKEYSREQUEST']._serialized_start=10678 + _globals['_GETENTERPRISEDATAKEYSREQUEST']._serialized_end=10724 + _globals['_GETENTERPRISEDATAKEYSRESPONSE']._serialized_start=10727 + _globals['_GETENTERPRISEDATAKEYSRESPONSE']._serialized_end=10982 + _globals['_ROLEKEY']._serialized_start=10984 + _globals['_ROLEKEY']._serialized_end=11078 + _globals['_MSPKEY']._serialized_start=11080 + _globals['_MSPKEY']._serialized_end=11180 + _globals['_ENTERPRISEKEYS']._serialized_start=11182 + _globals['_ENTERPRISEKEYS']._serialized_end=11306 + _globals['_TREEKEY']._serialized_start=11308 + _globals['_TREEKEY']._serialized_end=11380 + _globals['_SHAREDRECORDRESPONSE']._serialized_start=11382 + _globals['_SHAREDRECORDRESPONSE']._serialized_end=11451 + _globals['_SHAREDRECORDEVENT']._serialized_start=11453 + _globals['_SHAREDRECORDEVENT']._serialized_end=11565 + _globals['_SETRESTRICTVISIBILITYREQUEST']._serialized_start=11567 + _globals['_SETRESTRICTVISIBILITYREQUEST']._serialized_end=11613 + _globals['_USERADDREQUEST']._serialized_start=11616 + _globals['_USERADDREQUEST']._serialized_end=11824 + _globals['_USERUPDATEREQUEST']._serialized_start=11826 + _globals['_USERUPDATEREQUEST']._serialized_end=11884 + _globals['_USERUPDATE']._serialized_start=11887 + _globals['_USERUPDATE']._serialized_end=12118 + _globals['_USERUPDATERESPONSE']._serialized_start=12120 + _globals['_USERUPDATERESPONSE']._serialized_end=12185 + _globals['_USERUPDATERESULT']._serialized_start=12188 + _globals['_USERUPDATERESULT']._serialized_end=12324 + _globals['_COMPLIANCERECORDOWNERSREQUEST']._serialized_start=12326 + _globals['_COMPLIANCERECORDOWNERSREQUEST']._serialized_end=12400 + _globals['_COMPLIANCERECORDOWNERSRESPONSE']._serialized_start=12402 + _globals['_COMPLIANCERECORDOWNERSRESPONSE']._serialized_end=12481 + _globals['_RECORDOWNER']._serialized_start=12483 + _globals['_RECORDOWNER']._serialized_end=12538 + _globals['_PRELIMINARYCOMPLIANCEDATAREQUEST']._serialized_start=12541 + _globals['_PRELIMINARYCOMPLIANCEDATAREQUEST']._serialized_end=12707 + _globals['_PRELIMINARYCOMPLIANCEDATARESPONSE']._serialized_start=12710 + _globals['_PRELIMINARYCOMPLIANCEDATARESPONSE']._serialized_end=12869 + _globals['_AUDITUSERRECORD']._serialized_start=12871 + _globals['_AUDITUSERRECORD']._serialized_end=12969 + _globals['_AUDITUSERDATA']._serialized_start=12972 + _globals['_AUDITUSERDATA']._serialized_end=13113 + _globals['_COMPLIANCEREPORTFILTERS']._serialized_start=13115 + _globals['_COMPLIANCEREPORTFILTERS']._serialized_end=13242 + _globals['_COMPLIANCEREPORTREQUEST']._serialized_start=13244 + _globals['_COMPLIANCEREPORTREQUEST']._serialized_end=13371 + _globals['_COMPLIANCEREPORTRUN']._serialized_start=13374 + _globals['_COMPLIANCEREPORTRUN']._serialized_end=13507 + _globals['_COMPLIANCEREPORTCRITERIAANDFILTER']._serialized_start=13510 + _globals['_COMPLIANCEREPORTCRITERIAANDFILTER']._serialized_end=13762 + _globals['_COMPLIANCEREPORTCRITERIA']._serialized_start=13764 + _globals['_COMPLIANCEREPORTCRITERIA']._serialized_end=13862 + _globals['_COMPLIANCEREPORTFILTER']._serialized_start=13864 + _globals['_COMPLIANCEREPORTFILTER']._serialized_end=13984 + _globals['_COMPLIANCEREPORTRESPONSE']._serialized_start=13987 + _globals['_COMPLIANCEREPORTRESPONSE']._serialized_end=14660 + _globals['_AUDITRECORD']._serialized_start=14663 + _globals['_AUDITRECORD']._serialized_end=14815 + _globals['_AUDITROLE']._serialized_start=14818 + _globals['_AUDITROLE']._serialized_end=15074 + _globals['_ROLENODEMANAGEMENT']._serialized_start=15076 + _globals['_ROLENODEMANAGEMENT']._serialized_end=15170 + _globals['_USERPROFILE']._serialized_start=15172 + _globals['_USERPROFILE']._serialized_end=15279 + _globals['_RECORDPERMISSION']._serialized_start=15281 + _globals['_RECORDPERMISSION']._serialized_end=15404 + _globals['_DRIVEPERMISSION']._serialized_start=15407 + _globals['_DRIVEPERMISSION']._serialized_end=15606 + _globals['_USERRECORD']._serialized_start=15608 + _globals['_USERRECORD']._serialized_end=15703 + _globals['_AUDITTEAM']._serialized_start=15705 + _globals['_AUDITTEAM']._serialized_end=15796 + _globals['_AUDITTEAMUSER']._serialized_start=15798 + _globals['_AUDITTEAMUSER']._serialized_end=15857 + _globals['_SHAREDFOLDERRECORD']._serialized_start=15860 + _globals['_SHAREDFOLDERRECORD']._serialized_end=16019 + _globals['_SHAREADMINRECORD']._serialized_start=16021 + _globals['_SHAREADMINRECORD']._serialized_end=16098 + _globals['_SHAREDFOLDERUSER']._serialized_start=16100 + _globals['_SHAREDFOLDERUSER']._serialized_end=16170 + _globals['_SHAREDFOLDERTEAM']._serialized_start=16172 + _globals['_SHAREDFOLDERTEAM']._serialized_end=16233 + _globals['_GETCOMPLIANCEREPORTREQUEST']._serialized_start=16235 + _globals['_GETCOMPLIANCEREPORTREQUEST']._serialized_end=16282 + _globals['_GETCOMPLIANCEREPORTRESPONSE']._serialized_start=16284 + _globals['_GETCOMPLIANCEREPORTRESPONSE']._serialized_end=16334 + _globals['_COMPLIANCEREPORTCRITERIAREQUEST']._serialized_start=16336 + _globals['_COMPLIANCEREPORTCRITERIAREQUEST']._serialized_end=16390 + _globals['_SAVECOMPLIANCEREPORTCRITERIARESPONSE']._serialized_start=16392 + _globals['_SAVECOMPLIANCEREPORTCRITERIARESPONSE']._serialized_end=16451 + _globals['_LINKEDRECORD']._serialized_start=16453 + _globals['_LINKEDRECORD']._serialized_end=16505 + _globals['_GETSHARINGADMINSREQUEST']._serialized_start=16507 + _globals['_GETSHARINGADMINSREQUEST']._serialized_end=16594 + _globals['_USERPROFILEEXT']._serialized_start=16597 + _globals['_USERPROFILEEXT']._serialized_end=16821 + _globals['_GETSHARINGADMINSRESPONSE']._serialized_start=16823 + _globals['_GETSHARINGADMINSRESPONSE']._serialized_end=16902 + _globals['_TEAMSENTERPRISEUSERSADDREQUEST']._serialized_start=16904 + _globals['_TEAMSENTERPRISEUSERSADDREQUEST']._serialized_end=16999 + _globals['_TEAMSENTERPRISEUSERSADDTEAMREQUEST']._serialized_start=17001 + _globals['_TEAMSENTERPRISEUSERSADDTEAMREQUEST']._serialized_end=17117 + _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST']._serialized_start=17120 + _globals['_TEAMSENTERPRISEUSERSADDUSERREQUEST']._serialized_end=17291 + _globals['_TYPEDKEY']._serialized_start=17293 + _globals['_TYPEDKEY']._serialized_end=17363 + _globals['_TEAMSENTERPRISEUSERSADDRESPONSE']._serialized_start=17365 + _globals['_TEAMSENTERPRISEUSERSADDRESPONSE']._serialized_end=17480 + _globals['_TEAMSENTERPRISEUSERSADDTEAMRESPONSE']._serialized_start=17483 + _globals['_TEAMSENTERPRISEUSERSADDTEAMRESPONSE']._serialized_end=17679 + _globals['_TEAMSENTERPRISEUSERSADDUSERRESPONSE']._serialized_start=17682 + _globals['_TEAMSENTERPRISEUSERSADDUSERRESPONSE']._serialized_end=17841 + _globals['_TEAMENTERPRISEUSERREMOVE']._serialized_start=17843 + _globals['_TEAMENTERPRISEUSERREMOVE']._serialized_end=17912 + _globals['_TEAMENTERPRISEUSERREMOVESREQUEST']._serialized_start=17914 + _globals['_TEAMENTERPRISEUSERREMOVESREQUEST']._serialized_end=18020 + _globals['_TEAMENTERPRISEUSERREMOVESRESPONSE']._serialized_start=18022 + _globals['_TEAMENTERPRISEUSERREMOVESRESPONSE']._serialized_end=18145 + _globals['_TEAMENTERPRISEUSERREMOVERESPONSE']._serialized_start=18148 + _globals['_TEAMENTERPRISEUSERREMOVERESPONSE']._serialized_end=18332 + _globals['_DOMAINALIAS']._serialized_start=18334 + _globals['_DOMAINALIAS']._serialized_end=18411 + _globals['_DOMAINALIASREQUEST']._serialized_start=18413 + _globals['_DOMAINALIASREQUEST']._serialized_end=18479 + _globals['_DOMAINALIASRESPONSE']._serialized_start=18481 + _globals['_DOMAINALIASRESPONSE']._serialized_end=18548 + _globals['_ENTERPRISEUSERSPROVISIONREQUEST']._serialized_start=18550 + _globals['_ENTERPRISEUSERSPROVISIONREQUEST']._serialized_end=18659 + _globals['_ENTERPRISEUSERSPROVISION']._serialized_start=18662 + _globals['_ENTERPRISEUSERSPROVISION']._serialized_end=19100 + _globals['_ENTERPRISEUSERSPROVISIONRESPONSE']._serialized_start=19102 + _globals['_ENTERPRISEUSERSPROVISIONRESPONSE']._serialized_end=19197 + _globals['_ENTERPRISEUSERSPROVISIONRESULT']._serialized_start=19199 + _globals['_ENTERPRISEUSERSPROVISIONRESULT']._serialized_end=19312 + _globals['_ENTERPRISEUSERSADDREQUEST']._serialized_start=19314 + _globals['_ENTERPRISEUSERSADDREQUEST']._serialized_end=19411 + _globals['_ENTERPRISEUSERSADD']._serialized_start=19414 + _globals['_ENTERPRISEUSERSADD']._serialized_end=19682 + _globals['_ENTERPRISEUSERSADDRESPONSE']._serialized_start=19685 + _globals['_ENTERPRISEUSERSADDRESPONSE']._serialized_end=19840 + _globals['_ENTERPRISEUSERSADDRESULT']._serialized_start=19843 + _globals['_ENTERPRISEUSERSADDRESULT']._serialized_end=19993 + _globals['_UPDATEMSPPERMITSREQUEST']._serialized_start=19996 + _globals['_UPDATEMSPPERMITSREQUEST']._serialized_end=20181 + _globals['_DELETEENTERPRISEUSERSREQUEST']._serialized_start=20183 + _globals['_DELETEENTERPRISEUSERSREQUEST']._serialized_end=20240 + _globals['_DELETEENTERPRISEUSERSTATUS']._serialized_start=20242 + _globals['_DELETEENTERPRISEUSERSTATUS']._serialized_end=20353 + _globals['_DELETEENTERPRISEUSERSRESPONSE']._serialized_start=20355 + _globals['_DELETEENTERPRISEUSERSRESPONSE']._serialized_end=20448 + _globals['_CLEARSECURITYDATAREQUEST']._serialized_start=20450 + _globals['_CLEARSECURITYDATAREQUEST']._serialized_end=20569 + _globals['_LISTDOMAINSRESPONSE']._serialized_start=20571 + _globals['_LISTDOMAINSRESPONSE']._serialized_end=20608 + _globals['_RESERVEDOMAINREQUEST']._serialized_start=20610 + _globals['_RESERVEDOMAINREQUEST']._serialized_end=20710 + _globals['_RESERVEDOMAINRESPONSE']._serialized_start=20712 + _globals['_RESERVEDOMAINRESPONSE']._serialized_end=20750 + _globals['_ROLESBYTEAM']._serialized_start=20752 + _globals['_ROLESBYTEAM']._serialized_end=20798 + _globals['_LOCKUSERSREQUEST']._serialized_start=20801 + _globals['_LOCKUSERSREQUEST']._serialized_end=20942 + _globals['_LOCKUSERSRESPONSE']._serialized_start=20944 + _globals['_LOCKUSERSRESPONSE']._serialized_end=21011 + _globals['_LOCKUSERRESPONSE']._serialized_start=21013 + _globals['_LOCKUSERRESPONSE']._serialized_end=21123 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/enterprise_pb2.pyi b/keepersdk-package/src/keepersdk/proto/enterprise_pb2.pyi index 2d693182..19d2a13e 100644 --- a/keepersdk-package/src/keepersdk/proto/enterprise_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/enterprise_pb2.pyi @@ -1,3 +1,4 @@ +from . import folder_pb2 as _folder_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -23,6 +24,7 @@ class RoleUserModifyStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): MUST_HAVE_ONE_USER_ADMIN: _ClassVar[RoleUserModifyStatus] INVALID_ROLE_ID: _ClassVar[RoleUserModifyStatus] PAM_LICENSE_SEAT_EXCEEDED: _ClassVar[RoleUserModifyStatus] + WOULD_LOCK_SELF: _ClassVar[RoleUserModifyStatus] class EnterpriseType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -110,6 +112,12 @@ class UserUpdateStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () USER_UPDATE_OK: _ClassVar[UserUpdateStatus] USER_UPDATE_ACCESS_DENIED: _ClassVar[UserUpdateStatus] + USER_UPDATE_EXCEEDED_LICENSE_SEATS: _ClassVar[UserUpdateStatus] + USER_UPDATE_BAD_REQUEST: _ClassVar[UserUpdateStatus] + USER_UPDATE_DUPLICATE: _ClassVar[UserUpdateStatus] + USER_UPDATE_INVALID_STATE: _ClassVar[UserUpdateStatus] + USER_UPDATE_FAILED: _ClassVar[UserUpdateStatus] + USER_UPDATE_ERROR: _ClassVar[UserUpdateStatus] class AuditUserStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -178,6 +186,7 @@ MAY_NOT_REMOVE_SELF_FROM_ROLE: RoleUserModifyStatus MUST_HAVE_ONE_USER_ADMIN: RoleUserModifyStatus INVALID_ROLE_ID: RoleUserModifyStatus PAM_LICENSE_SEAT_EXCEEDED: RoleUserModifyStatus +WOULD_LOCK_SELF: RoleUserModifyStatus ENTERPRISE_STANDARD: EnterpriseType ENTERPRISE_MSP: EnterpriseType UNDEFINED: TransferAcceptanceStatus @@ -238,6 +247,12 @@ FORBID_KEY_TYPE_1: EnterpriseFlagType KEEPER_DRIVE: EnterpriseFlagType USER_UPDATE_OK: UserUpdateStatus USER_UPDATE_ACCESS_DENIED: UserUpdateStatus +USER_UPDATE_EXCEEDED_LICENSE_SEATS: UserUpdateStatus +USER_UPDATE_BAD_REQUEST: UserUpdateStatus +USER_UPDATE_DUPLICATE: UserUpdateStatus +USER_UPDATE_INVALID_STATE: UserUpdateStatus +USER_UPDATE_FAILED: UserUpdateStatus +USER_UPDATE_ERROR: UserUpdateStatus OK: AuditUserStatus ACCESS_DENIED: AuditUserStatus NO_LONGER_IN_ENTERPRISE: AuditUserStatus @@ -404,14 +419,16 @@ class ManagedNodesByRole(_message.Message): def __init__(self, role_id: _Optional[int] = ..., managedNodeId: _Optional[_Iterable[int]] = ...) -> None: ... class RoleUserAddKeys(_message.Message): - __slots__ = ("enterpriseUserId", "treeKey", "roleAdminKey") + __slots__ = ("enterpriseUserId", "treeKey", "roleAdminKey", "typedTreeKey") ENTERPRISEUSERID_FIELD_NUMBER: _ClassVar[int] TREEKEY_FIELD_NUMBER: _ClassVar[int] ROLEADMINKEY_FIELD_NUMBER: _ClassVar[int] + TYPEDTREEKEY_FIELD_NUMBER: _ClassVar[int] enterpriseUserId: int treeKey: str roleAdminKey: str - def __init__(self, enterpriseUserId: _Optional[int] = ..., treeKey: _Optional[str] = ..., roleAdminKey: _Optional[str] = ...) -> None: ... + typedTreeKey: TypedKey + def __init__(self, enterpriseUserId: _Optional[int] = ..., treeKey: _Optional[str] = ..., roleAdminKey: _Optional[str] = ..., typedTreeKey: _Optional[_Union[TypedKey, _Mapping]] = ...) -> None: ... class RoleUserAdd(_message.Message): __slots__ = ("role_id", "roleUserAddKeys") @@ -1418,7 +1435,7 @@ class UserUpdateRequest(_message.Message): def __init__(self, users: _Optional[_Iterable[_Union[UserUpdate, _Mapping]]] = ...) -> None: ... class UserUpdate(_message.Message): - __slots__ = ("enterpriseUserId", "nodeId", "encryptedData", "keyType", "fullName", "jobTitle", "email") + __slots__ = ("enterpriseUserId", "nodeId", "encryptedData", "keyType", "fullName", "jobTitle", "email", "inviteeLocale", "encryptedDataString") ENTERPRISEUSERID_FIELD_NUMBER: _ClassVar[int] NODEID_FIELD_NUMBER: _ClassVar[int] ENCRYPTEDDATA_FIELD_NUMBER: _ClassVar[int] @@ -1426,6 +1443,8 @@ class UserUpdate(_message.Message): FULLNAME_FIELD_NUMBER: _ClassVar[int] JOBTITLE_FIELD_NUMBER: _ClassVar[int] EMAIL_FIELD_NUMBER: _ClassVar[int] + INVITEELOCALE_FIELD_NUMBER: _ClassVar[int] + ENCRYPTEDDATASTRING_FIELD_NUMBER: _ClassVar[int] enterpriseUserId: int nodeId: int encryptedData: bytes @@ -1433,7 +1452,9 @@ class UserUpdate(_message.Message): fullName: str jobTitle: str email: str - def __init__(self, enterpriseUserId: _Optional[int] = ..., nodeId: _Optional[int] = ..., encryptedData: _Optional[bytes] = ..., keyType: _Optional[_Union[EncryptedKeyType, str]] = ..., fullName: _Optional[str] = ..., jobTitle: _Optional[str] = ..., email: _Optional[str] = ...) -> None: ... + inviteeLocale: str + encryptedDataString: str + def __init__(self, enterpriseUserId: _Optional[int] = ..., nodeId: _Optional[int] = ..., encryptedData: _Optional[bytes] = ..., keyType: _Optional[_Union[EncryptedKeyType, str]] = ..., fullName: _Optional[str] = ..., jobTitle: _Optional[str] = ..., email: _Optional[str] = ..., inviteeLocale: _Optional[str] = ..., encryptedDataString: _Optional[str] = ...) -> None: ... class UserUpdateResponse(_message.Message): __slots__ = ("users",) @@ -1442,12 +1463,16 @@ class UserUpdateResponse(_message.Message): def __init__(self, users: _Optional[_Iterable[_Union[UserUpdateResult, _Mapping]]] = ...) -> None: ... class UserUpdateResult(_message.Message): - __slots__ = ("enterpriseUserId", "status") + __slots__ = ("enterpriseUserId", "status", "errorMessage", "additionalInfo") ENTERPRISEUSERID_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] + ERRORMESSAGE_FIELD_NUMBER: _ClassVar[int] + ADDITIONALINFO_FIELD_NUMBER: _ClassVar[int] enterpriseUserId: int status: UserUpdateStatus - def __init__(self, enterpriseUserId: _Optional[int] = ..., status: _Optional[_Union[UserUpdateStatus, str]] = ...) -> None: ... + errorMessage: str + additionalInfo: str + def __init__(self, enterpriseUserId: _Optional[int] = ..., status: _Optional[_Union[UserUpdateStatus, str]] = ..., errorMessage: _Optional[str] = ..., additionalInfo: _Optional[str] = ...) -> None: ... class ComplianceRecordOwnersRequest(_message.Message): __slots__ = ("nodeIds", "includeNonShared") @@ -1496,14 +1521,16 @@ class PreliminaryComplianceDataResponse(_message.Message): def __init__(self, auditUserData: _Optional[_Iterable[_Union[AuditUserData, _Mapping]]] = ..., continuationToken: _Optional[bytes] = ..., hasMore: bool = ..., totalMatchingRecords: _Optional[int] = ...) -> None: ... class AuditUserRecord(_message.Message): - __slots__ = ("recordUid", "encryptedData", "shared") + __slots__ = ("recordUid", "encryptedData", "shared", "isDriveRecord") RECORDUID_FIELD_NUMBER: _ClassVar[int] ENCRYPTEDDATA_FIELD_NUMBER: _ClassVar[int] SHARED_FIELD_NUMBER: _ClassVar[int] + ISDRIVERECORD_FIELD_NUMBER: _ClassVar[int] recordUid: bytes encryptedData: bytes shared: bool - def __init__(self, recordUid: _Optional[bytes] = ..., encryptedData: _Optional[bytes] = ..., shared: bool = ...) -> None: ... + isDriveRecord: bool + def __init__(self, recordUid: _Optional[bytes] = ..., encryptedData: _Optional[bytes] = ..., shared: bool = ..., isDriveRecord: bool = ...) -> None: ... class AuditUserData(_message.Message): __slots__ = ("enterpriseUserId", "auditUserRecords", "status") @@ -1626,20 +1653,22 @@ class ComplianceReportResponse(_message.Message): def __init__(self, dateGenerated: _Optional[int] = ..., runByUserName: _Optional[str] = ..., reportName: _Optional[str] = ..., reportUid: _Optional[bytes] = ..., complianceReportRun: _Optional[_Union[ComplianceReportRun, _Mapping]] = ..., userProfiles: _Optional[_Iterable[_Union[UserProfile, _Mapping]]] = ..., auditTeams: _Optional[_Iterable[_Union[AuditTeam, _Mapping]]] = ..., auditRecords: _Optional[_Iterable[_Union[AuditRecord, _Mapping]]] = ..., userRecords: _Optional[_Iterable[_Union[UserRecord, _Mapping]]] = ..., sharedFolderRecords: _Optional[_Iterable[_Union[SharedFolderRecord, _Mapping]]] = ..., sharedFolderUsers: _Optional[_Iterable[_Union[SharedFolderUser, _Mapping]]] = ..., sharedFolderTeams: _Optional[_Iterable[_Union[SharedFolderTeam, _Mapping]]] = ..., auditTeamUsers: _Optional[_Iterable[_Union[AuditTeamUser, _Mapping]]] = ..., auditRoles: _Optional[_Iterable[_Union[AuditRole, _Mapping]]] = ..., linkedRecords: _Optional[_Iterable[_Union[LinkedRecord, _Mapping]]] = ...) -> None: ... class AuditRecord(_message.Message): - __slots__ = ("recordUid", "auditData", "hasAttachments", "inTrash", "treeLeft", "treeRight") + __slots__ = ("recordUid", "auditData", "hasAttachments", "inTrash", "treeLeft", "treeRight", "isDriveRecord") RECORDUID_FIELD_NUMBER: _ClassVar[int] AUDITDATA_FIELD_NUMBER: _ClassVar[int] HASATTACHMENTS_FIELD_NUMBER: _ClassVar[int] INTRASH_FIELD_NUMBER: _ClassVar[int] TREELEFT_FIELD_NUMBER: _ClassVar[int] TREERIGHT_FIELD_NUMBER: _ClassVar[int] + ISDRIVERECORD_FIELD_NUMBER: _ClassVar[int] recordUid: bytes auditData: bytes hasAttachments: bool inTrash: bool treeLeft: int treeRight: int - def __init__(self, recordUid: _Optional[bytes] = ..., auditData: _Optional[bytes] = ..., hasAttachments: bool = ..., inTrash: bool = ..., treeLeft: _Optional[int] = ..., treeRight: _Optional[int] = ...) -> None: ... + isDriveRecord: bool + def __init__(self, recordUid: _Optional[bytes] = ..., auditData: _Optional[bytes] = ..., hasAttachments: bool = ..., inTrash: bool = ..., treeLeft: _Optional[int] = ..., treeRight: _Optional[int] = ..., isDriveRecord: bool = ...) -> None: ... class AuditRole(_message.Message): __slots__ = ("roleId", "encryptedData", "restrictShareOutsideEnterprise", "restrictShareAll", "restrictShareOfAttachments", "restrictMaskPasswordsWhileEditing", "roleNodeManagements") @@ -1686,12 +1715,32 @@ class UserProfile(_message.Message): def __init__(self, enterpriseUserId: _Optional[int] = ..., fullName: _Optional[str] = ..., jobTitle: _Optional[str] = ..., email: _Optional[str] = ..., roleIds: _Optional[_Iterable[int]] = ...) -> None: ... class RecordPermission(_message.Message): - __slots__ = ("recordUid", "permissionBits") + __slots__ = ("recordUid", "permissionBits", "drive") RECORDUID_FIELD_NUMBER: _ClassVar[int] PERMISSIONBITS_FIELD_NUMBER: _ClassVar[int] + DRIVE_FIELD_NUMBER: _ClassVar[int] recordUid: bytes permissionBits: int - def __init__(self, recordUid: _Optional[bytes] = ..., permissionBits: _Optional[int] = ...) -> None: ... + drive: DrivePermission + def __init__(self, recordUid: _Optional[bytes] = ..., permissionBits: _Optional[int] = ..., drive: _Optional[_Union[DrivePermission, _Mapping]] = ...) -> None: ... + +class DrivePermission(_message.Message): + __slots__ = ("owner", "denied", "canEdit", "canShare", "isShareAdmin", "accessType", "folderPermissions") + OWNER_FIELD_NUMBER: _ClassVar[int] + DENIED_FIELD_NUMBER: _ClassVar[int] + CANEDIT_FIELD_NUMBER: _ClassVar[int] + CANSHARE_FIELD_NUMBER: _ClassVar[int] + ISSHAREADMIN_FIELD_NUMBER: _ClassVar[int] + ACCESSTYPE_FIELD_NUMBER: _ClassVar[int] + FOLDERPERMISSIONS_FIELD_NUMBER: _ClassVar[int] + owner: bool + denied: bool + canEdit: bool + canShare: bool + isShareAdmin: bool + accessType: _folder_pb2.AccessType + folderPermissions: _folder_pb2.FolderPermissions + def __init__(self, owner: bool = ..., denied: bool = ..., canEdit: bool = ..., canShare: bool = ..., isShareAdmin: bool = ..., accessType: _Optional[_Union[_folder_pb2.AccessType, str]] = ..., folderPermissions: _Optional[_Union[_folder_pb2.FolderPermissions, _Mapping]] = ...) -> None: ... class UserRecord(_message.Message): __slots__ = ("enterpriseUserId", "recordPermissions") diff --git a/keepersdk-package/src/keepersdk/proto/folder_pb2.py b/keepersdk-package/src/keepersdk/proto/folder_pb2.py index 466f3cdf..affb1570 100644 --- a/keepersdk-package/src/keepersdk/proto/folder_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/folder_pb2.py @@ -26,7 +26,7 @@ from . import tla_pb2 as tla__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x66older.proto\x12\x06\x46older\x1a\x0crecord.proto\x1a\ttla.proto\"\\\n\x10\x45ncryptedDataKey\x12\x14\n\x0c\x65ncryptedKey\x18\x01 \x01(\x0c\x12\x32\n\x10\x65ncryptedKeyType\x18\x02 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\"\x82\x01\n\x16SharedFolderRecordData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x32\n\x10\x65ncryptedDataKey\x18\x04 \x03(\x0b\x32\x18.Folder.EncryptedDataKey\"\\\n\x1aSharedFolderRecordDataList\x12>\n\x16sharedFolderRecordData\x18\x01 \x03(\x0b\x32\x1e.Folder.SharedFolderRecordData\"_\n\x15SharedFolderRecordFix\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12 \n\x18\x65ncryptedRecordFolderKey\x18\x03 \x01(\x0c\"Y\n\x19SharedFolderRecordFixList\x12<\n\x15sharedFolderRecordFix\x18\x01 \x03(\x0b\x32\x1d.Folder.SharedFolderRecordFix\"\xa2\x02\n\rRecordRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12&\n\nrecordType\x18\x02 \x01(\x0e\x32\x12.Folder.RecordType\x12\x12\n\nrecordData\x18\x03 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x04 \x01(\x0c\x12&\n\nfolderType\x18\x05 \x01(\x0e\x32\x12.Folder.FolderType\x12\x12\n\nhowLongAgo\x18\x06 \x01(\x03\x12\x11\n\tfolderUid\x18\x07 \x01(\x0c\x12 \n\x18\x65ncryptedRecordFolderKey\x18\x08 \x01(\x0c\x12\r\n\x05\x65xtra\x18\t \x01(\x0c\x12\x15\n\rnonSharedData\x18\n \x01(\x0c\x12\x0f\n\x07\x66ileIds\x18\x0b \x03(\x03\"E\n\x0eRecordResponse\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\"\x80\x01\n\x12SharedFolderFields\x12\x1b\n\x13\x65ncryptedFolderName\x18\x01 \x01(\x0c\x12\x13\n\x0bmanageUsers\x18\x02 \x01(\x08\x12\x15\n\rmanageRecords\x18\x03 \x01(\x08\x12\x0f\n\x07\x63\x61nEdit\x18\x04 \x01(\x08\x12\x10\n\x08\x63\x61nShare\x18\x05 \x01(\x08\"3\n\x18SharedFolderFolderFields\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\"\x8f\x02\n\rFolderRequest\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12&\n\nfolderType\x18\x02 \x01(\x0e\x32\x12.Folder.FolderType\x12\x17\n\x0fparentFolderUid\x18\x03 \x01(\x0c\x12\x12\n\nfolderData\x18\x04 \x01(\x0c\x12\x1a\n\x12\x65ncryptedFolderKey\x18\x05 \x01(\x0c\x12\x36\n\x12sharedFolderFields\x18\x06 \x01(\x0b\x32\x1a.Folder.SharedFolderFields\x12\x42\n\x18sharedFolderFolderFields\x18\x07 \x01(\x0b\x32 .Folder.SharedFolderFolderFields\"E\n\x0e\x46olderResponse\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\"w\n\x19ImportFolderRecordRequest\x12,\n\rfolderRequest\x18\x01 \x03(\x0b\x32\x15.Folder.FolderRequest\x12,\n\rrecordRequest\x18\x02 \x03(\x0b\x32\x15.Folder.RecordRequest\"|\n\x1aImportFolderRecordResponse\x12.\n\x0e\x66olderResponse\x18\x01 \x03(\x0b\x32\x16.Folder.FolderResponse\x12.\n\x0erecordResponse\x18\x02 \x03(\x0b\x32\x16.Folder.RecordResponse\"\xc9\x02\n\x18SharedFolderUpdateRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12(\n\x07\x63\x61nEdit\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12)\n\x08\x63\x61nShare\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x06 \x01(\x0c\x12\x10\n\x08revision\x18\x07 \x01(\x05\x12\x12\n\nexpiration\x18\x08 \x01(\x12\x12=\n\x15timerNotificationType\x18\t \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\n \x01(\x08\"\xcc\x02\n\x16SharedFolderUpdateUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12,\n\x0bmanageUsers\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12.\n\rmanageRecords\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x1b\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x12\n\nexpiration\x18\x05 \x01(\x12\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x36\n\x14typedSharedFolderKey\x18\x07 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x1a\n\x12rotateOnExpiration\x18\x08 \x01(\x08\"\x99\x02\n\x16SharedFolderUpdateTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x13\n\x0bmanageUsers\x18\x02 \x01(\x08\x12\x15\n\rmanageRecords\x18\x03 \x01(\x08\x12\x1b\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x12\n\nexpiration\x18\x05 \x01(\x12\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x36\n\x14typedSharedFolderKey\x18\x07 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x1a\n\x12rotateOnExpiration\x18\x08 \x01(\x08\"\x8e\x07\n\x1bSharedFolderUpdateV3Request\x12,\n$sharedFolderUpdateOperation_dont_use\x18\x01 \x01(\x05\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\x12!\n\x19\x65ncryptedSharedFolderName\x18\x03 \x01(\x0c\x12\x10\n\x08revision\x18\x04 \x01(\x03\x12\x13\n\x0b\x66orceUpdate\x18\x05 \x01(\x08\x12\x13\n\x0b\x66romTeamUid\x18\x06 \x01(\x0c\x12\x33\n\x12\x64\x65\x66\x61ultManageUsers\x18\x07 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x35\n\x14\x64\x65\x66\x61ultManageRecords\x18\x08 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x64\x65\x66\x61ultCanEdit\x18\t \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x30\n\x0f\x64\x65\x66\x61ultCanShare\x18\n \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12?\n\x15sharedFolderAddRecord\x18\x0b \x03(\x0b\x32 .Folder.SharedFolderUpdateRecord\x12;\n\x13sharedFolderAddUser\x18\x0c \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateUser\x12;\n\x13sharedFolderAddTeam\x18\r \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateTeam\x12\x42\n\x18sharedFolderUpdateRecord\x18\x0e \x03(\x0b\x32 .Folder.SharedFolderUpdateRecord\x12>\n\x16sharedFolderUpdateUser\x18\x0f \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateUser\x12>\n\x16sharedFolderUpdateTeam\x18\x10 \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateTeam\x12 \n\x18sharedFolderRemoveRecord\x18\x11 \x03(\x0c\x12\x1e\n\x16sharedFolderRemoveUser\x18\x12 \x03(\t\x12\x1e\n\x16sharedFolderRemoveTeam\x18\x13 \x03(\x0c\x12\x19\n\x11sharedFolderOwner\x18\x14 \x01(\t\"c\n\x1dSharedFolderUpdateV3RequestV2\x12\x42\n\x15sharedFoldersUpdateV3\x18\x01 \x03(\x0b\x32#.Folder.SharedFolderUpdateV3Request\"C\n\x1eSharedFolderUpdateRecordStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\"@\n\x1cSharedFolderUpdateUserStatus\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\"?\n\x1cSharedFolderUpdateTeamStatus\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\"\x88\x06\n\x1cSharedFolderUpdateV3Response\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12K\n\x1bsharedFolderAddRecordStatus\x18\x02 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12G\n\x19sharedFolderAddUserStatus\x18\x03 \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12G\n\x19sharedFolderAddTeamStatus\x18\x04 \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12N\n\x1esharedFolderUpdateRecordStatus\x18\x05 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12J\n\x1csharedFolderUpdateUserStatus\x18\x06 \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12J\n\x1csharedFolderUpdateTeamStatus\x18\x07 \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12N\n\x1esharedFolderRemoveRecordStatus\x18\x08 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12J\n\x1csharedFolderRemoveUserStatus\x18\t \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12J\n\x1csharedFolderRemoveTeamStatus\x18\n \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12\x17\n\x0fsharedFolderUid\x18\x0c \x01(\x0c\x12\x0e\n\x06status\x18\r \x01(\t\"m\n\x1eSharedFolderUpdateV3ResponseV2\x12K\n\x1dsharedFoldersUpdateV3Response\x18\x01 \x03(\x0b\x32$.Folder.SharedFolderUpdateV3Response\"\xfa\x01\n)GetDeletedSharedFoldersAndRecordsResponse\x12\x32\n\rsharedFolders\x18\x01 \x03(\x0b\x32\x1b.Folder.DeletedSharedFolder\x12>\n\x13sharedFolderRecords\x18\x02 \x03(\x0b\x32!.Folder.DeletedSharedFolderRecord\x12\x34\n\x11\x64\x65letedRecordData\x18\x03 \x03(\x0b\x32\x19.Folder.DeletedRecordData\x12#\n\tusernames\x18\x04 \x03(\x0b\x32\x10.Folder.Username\"\xd1\x01\n\x13\x44\x65letedSharedFolder\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x11\n\tfolderUid\x18\x02 \x01(\x0c\x12\x11\n\tparentUid\x18\x03 \x01(\x0c\x12\x17\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x12-\n\rfolderKeyType\x18\x05 \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x13\n\x0b\x64\x61teDeleted\x18\x07 \x01(\x03\x12\x10\n\x08revision\x18\x08 \x01(\x03\"\x81\x01\n\x19\x44\x65letedSharedFolderRecord\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x17\n\x0fsharedRecordKey\x18\x03 \x01(\x0c\x12\x13\n\x0b\x64\x61teDeleted\x18\x04 \x01(\x03\x12\x10\n\x08revision\x18\x05 \x01(\x03\"\x85\x01\n\x11\x44\x65letedRecordData\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08ownerUid\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x1a\n\x12\x63lientModifiedTime\x18\x04 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x0f\n\x07version\x18\x06 \x01(\x05\"0\n\x08Username\x12\x12\n\naccountUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\"\x8a\x01\n,RestoreDeletedSharedFoldersAndRecordsRequest\x12,\n\x07\x66olders\x18\x01 \x03(\x0b\x32\x1b.Folder.RestoreSharedObject\x12,\n\x07records\x18\x02 \x03(\x0b\x32\x1b.Folder.RestoreSharedObject\"<\n\x13RestoreSharedObject\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\"\x83\x02\n\nFolderData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12%\n\x04type\x18\x04 \x01(\x0e\x32\x17.Folder.FolderUsageType\x12\x37\n\x16inheritUserPermissions\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x11\n\tfolderKey\x18\x06 \x01(\x0c\x12#\n\townerInfo\x18\x07 \x01(\x0b\x32\x10.Folder.UserInfo\x12\x13\n\x0b\x64\x61teCreated\x18\x08 \x01(\x03\x12\x14\n\x0clastModified\x18\t \x01(\x03\"z\n\tFolderKey\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x11\n\tfolderKey\x18\x03 \x01(\x0c\x12\x34\n\x0b\x65ncryptedBy\x18\x04 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\":\n\x10\x46olderAddRequest\x12&\n\nfolderData\x18\x01 \x03(\x0b\x32\x12.Folder.FolderData\"d\n\x12\x46olderModifyResult\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"I\n\x11\x46olderAddResponse\x12\x34\n\x10\x66olderAddResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderModifyResult\"=\n\x13\x46olderUpdateRequest\x12&\n\nfolderData\x18\x01 \x03(\x0b\x32\x12.Folder.FolderData\"O\n\x14\x46olderUpdateResponse\x12\x37\n\x13\x66olderUpdateResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderModifyResult\"\xc3\x02\n\x11\x46olderPermissions\x12\x0e\n\x06\x63\x61nAdd\x18\x01 \x01(\x08\x12\x11\n\tcanRemove\x18\x02 \x01(\x08\x12\x11\n\tcanDelete\x18\x03 \x01(\x08\x12\x15\n\rcanListAccess\x18\x04 \x01(\x08\x12\x17\n\x0f\x63\x61nUpdateAccess\x18\x05 \x01(\x08\x12\x1a\n\x12\x63\x61nChangeOwnership\x18\x06 \x01(\x08\x12\x16\n\x0e\x63\x61nEditRecords\x18\x07 \x01(\x08\x12\x16\n\x0e\x63\x61nViewRecords\x18\x08 \x01(\x08\x12\x18\n\x10\x63\x61nApproveAccess\x18\t \x01(\x08\x12\x18\n\x10\x63\x61nRequestAccess\x18\n \x01(\x08\x12\x18\n\x10\x63\x61nUpdateSetting\x18\x0b \x01(\x08\x12\x16\n\x0e\x63\x61nListRecords\x18\x0c \x01(\x08\x12\x16\n\x0e\x63\x61nListFolders\x18\r \x01(\x08\"\x83\x05\n\x0c\x43\x61pabilities\x12\'\n\x06\x63\x61nAdd\x18\x01 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12*\n\tcanRemove\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12*\n\tcanDelete\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12.\n\rcanListAccess\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x30\n\x0f\x63\x61nUpdateAccess\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x33\n\x12\x63\x61nChangeOwnership\x18\x06 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nEditRecords\x18\x07 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nViewRecords\x18\x08 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nApproveAccess\x18\t \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nRequestAccess\x18\n \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nUpdateSetting\x18\x0b \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nListRecords\x18\x0c \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nListFolders\x18\r \x01(\x0e\x32\x17.Folder.SetBooleanValue\"\xb8\x01\n\x19\x46olderRecordUpdateRequest\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12*\n\naddRecords\x18\x02 \x03(\x0b\x32\x16.Folder.RecordMetadata\x12-\n\rupdateRecords\x18\x03 \x03(\x0b\x32\x16.Folder.RecordMetadata\x12-\n\rremoveRecords\x18\x04 \x03(\x0b\x32\x16.Folder.RecordMetadata\"\xab\x01\n\x0eRecordMetadata\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x02 \x01(\x0c\x12\x38\n\x16\x65ncryptedRecordKeyType\x18\x03 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\x12\x30\n\rtlaProperties\x18\x05 \x01(\x0b\x32\x19.common.tla.TLAProperties\"\x93\x01\n\x0c\x46olderRecord\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12.\n\x0erecordMetadata\x18\x02 \x01(\x0b\x32\x16.Folder.RecordMetadata\x12@\n\x17\x66olderKeyEncryptionType\x18\x03 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\"s\n\x1a\x46olderRecordUpdateResponse\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x42\n\x18\x66olderRecordUpdateResult\x18\x04 \x03(\x0b\x32 .Folder.FolderRecordUpdateResult\"j\n\x18\x46olderRecordUpdateResult\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x87\x03\n\x10\x46olderAccessData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x15\n\raccessTypeUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x04 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12+\n\tfolderKey\x18\x05 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x11\n\tinherited\x18\x06 \x01(\x08\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12.\n\x0bpermissions\x18\x08 \x01(\x0b\x32\x19.Folder.FolderPermissions\x12\x30\n\rtlaProperties\x18\t \x01(\x0b\x32\x19.common.tla.TLAProperties\x12\x13\n\x0b\x64\x61teCreated\x18\n \x01(\x03\x12\x14\n\x0clastModified\x18\x0b \x01(\x03\x12\x14\n\x0c\x64\x65niedAccess\x18\x0c \x01(\x08\"\\\n\rRevokedAccess\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x61\x63torUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\"#\n\rFolderRemoved\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\"\x93\x04\n\x10RecordAccessData\x12\x15\n\raccessTypeUid\x18\x01 \x01(\x0c\x12&\n\naccessType\x18\x02 \x01(\x0e\x32\x12.Folder.AccessType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x04 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12\r\n\x05owner\x18\x05 \x01(\x08\x12\x11\n\tinherited\x18\x06 \x01(\x08\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x0c\x64\x65niedAccess\x18\x08 \x01(\x08\x12\x16\n\x0e\x63\x61n_view_title\x18\t \x01(\x08\x12\x10\n\x08\x63\x61n_edit\x18\n \x01(\x08\x12\x10\n\x08\x63\x61n_view\x18\x0b \x01(\x08\x12\x17\n\x0f\x63\x61n_list_access\x18\x0c \x01(\x08\x12\x19\n\x11\x63\x61n_update_access\x18\r \x01(\x08\x12\x12\n\ncan_delete\x18\x0e \x01(\x08\x12\x1c\n\x14\x63\x61n_change_ownership\x18\x0f \x01(\x08\x12\x1a\n\x12\x63\x61n_request_access\x18\x10 \x01(\x08\x12\x1a\n\x12\x63\x61n_approve_access\x18\x11 \x01(\x08\x12\x13\n\x0b\x64\x61teCreated\x18\x12 \x01(\x03\x12\x14\n\x0clastModified\x18\x13 \x01(\x03\x12\x30\n\rtlaProperties\x18\x14 \x01(\x0b\x32\x19.common.tla.TLAProperties\"\xb8\x01\n\nAccessData\x12\x15\n\raccessTypeUid\x18\x01 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x02 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12\x14\n\x0c\x64\x65niedAccess\x18\x03 \x01(\x08\x12\x11\n\tinherited\x18\x04 \x01(\x08\x12\x0e\n\x06hidden\x18\x05 \x01(\x08\x12*\n\x0c\x63\x61pabilities\x18\x06 \x01(\x0b\x32\x14.Folder.Capabilities\"\xb7\x01\n\x13\x46olderAccessRequest\x12\x32\n\x10\x66olderAccessAdds\x18\x01 \x03(\x0b\x32\x18.Folder.FolderAccessData\x12\x35\n\x13\x66olderAccessUpdates\x18\x02 \x03(\x0b\x32\x18.Folder.FolderAccessData\x12\x35\n\x13\x66olderAccessRemoves\x18\x03 \x03(\x0b\x32\x18.Folder.FolderAccessData\"\x9f\x01\n\x12\x46olderAccessResult\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\taccessUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x05 \x01(\t\"O\n\x14\x46olderAccessResponse\x12\x37\n\x13\x66olderAccessResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderAccessResult\"0\n\x08UserInfo\x12\x12\n\naccountUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\"M\n\nRecordData\x12\x1e\n\x04user\x18\x01 \x01(\x0b\x32\x10.Folder.UserInfo\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\"{\n\tRecordKey\x12\x10\n\x08user_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12\x12\n\nrecord_key\x18\x03 \x01(\x0c\x12\x34\n\x12\x65ncrypted_key_type\x18\x04 \x01(\x0e\x32\x18.Folder.EncryptedKeyType*\x1a\n\nRecordType\x12\x0c\n\x08password\x10\x00*^\n\nFolderType\x12\x12\n\x0e\x64\x65\x66\x61ult_folder\x10\x00\x12\x0f\n\x0buser_folder\x10\x01\x12\x11\n\rshared_folder\x10\x02\x12\x18\n\x14shared_folder_folder\x10\x03*\x96\x01\n\x10\x45ncryptedKeyType\x12\n\n\x06no_key\x10\x00\x12\x19\n\x15\x65ncrypted_by_data_key\x10\x01\x12\x1b\n\x17\x65ncrypted_by_public_key\x10\x02\x12\x1d\n\x19\x65ncrypted_by_data_key_gcm\x10\x03\x12\x1f\n\x1b\x65ncrypted_by_public_key_ecc\x10\x04*M\n\x0fSetBooleanValue\x12\x15\n\x11\x42OOLEAN_NO_CHANGE\x10\x00\x12\x10\n\x0c\x42OOLEAN_TRUE\x10\x01\x12\x11\n\rBOOLEAN_FALSE\x10\x02*R\n\x0f\x46olderUsageType\x12\x0e\n\nUT_UNKNOWN\x10\x00\x12\r\n\tUT_NORMAL\x10\x01\x12\x0f\n\x0bUT_WORKFLOW\x10\x02\x12\x0f\n\x0bUT_TRASHCAN\x10\x03*l\n\x17\x46olderKeyEncryptionType\x12\x19\n\x15\x45NCRYPTED_BY_USER_KEY\x10\x00\x12\x1b\n\x17\x45NCRYPTED_BY_PARENT_KEY\x10\x01\x12\x19\n\x15\x45NCRYPTED_BY_TEAM_KEY\x10\x02*T\n\x12\x46olderModifyStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10\x01\x12\x11\n\rACCESS_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03*\xa4\x02\n\x14\x46olderPermissionBits\x12\n\n\x06noBits\x10\x00\x12\n\n\x06\x63\x61nAdd\x10\x01\x12\r\n\tcanRemove\x10\x02\x12\r\n\tcanDelete\x10\x04\x12\x11\n\rcanListAccess\x10\x08\x12\x13\n\x0f\x63\x61nUpdateAccess\x10\x10\x12\x16\n\x12\x63\x61nChangeOwnership\x10 \x12\x12\n\x0e\x63\x61nEditRecords\x10@\x12\x13\n\x0e\x63\x61nViewRecords\x10\x80\x01\x12\x15\n\x10\x63\x61nApproveAccess\x10\x80\x02\x12\x15\n\x10\x63\x61nRequestAccess\x10\x80\x04\x12\x15\n\x10\x63\x61nUpdateSetting\x10\x80\x08\x12\x13\n\x0e\x63\x61nListRecords\x10\x80\x10\x12\x13\n\x0e\x63\x61nListFolders\x10\x80 *\x9b\x01\n\x0e\x41\x63\x63\x65ssRoleType\x12\r\n\tNAVIGATOR\x10\x00\x12\r\n\tREQUESTOR\x10\x01\x12\n\n\x06VIEWER\x10\x02\x12\x12\n\x0eSHARED_MANAGER\x10\x03\x12\x13\n\x0f\x43ONTENT_MANAGER\x10\x04\x12\x19\n\x15\x43ONTENT_SHARE_MANAGER\x10\x05\x12\x0b\n\x07MANAGER\x10\x06\x12\x0e\n\nUNRESOLVED\x10\x07*z\n\nAccessType\x12\x0e\n\nAT_UNKNOWN\x10\x00\x12\x0c\n\x08\x41T_OWNER\x10\x01\x12\x0b\n\x07\x41T_USER\x10\x02\x12\x0b\n\x07\x41T_TEAM\x10\x03\x12\x11\n\rAT_ENTERPRISE\x10\x04\x12\r\n\tAT_FOLDER\x10\x05\x12\x12\n\x0e\x41T_APPLICATION\x10\x06*:\n\nObjectType\x12\x0e\n\nOT_UNKNOWN\x10\x00\x12\r\n\tOT_RECORD\x10\x01\x12\r\n\tOT_FOLDER\x10\x02\x42\"\n\x18\x63om.keepersecurity.protoB\x06\x46olderb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x66older.proto\x12\x06\x46older\x1a\x0crecord.proto\x1a\ttla.proto\"\\\n\x10\x45ncryptedDataKey\x12\x14\n\x0c\x65ncryptedKey\x18\x01 \x01(\x0c\x12\x32\n\x10\x65ncryptedKeyType\x18\x02 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\"\x82\x01\n\x16SharedFolderRecordData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x32\n\x10\x65ncryptedDataKey\x18\x04 \x03(\x0b\x32\x18.Folder.EncryptedDataKey\"\\\n\x1aSharedFolderRecordDataList\x12>\n\x16sharedFolderRecordData\x18\x01 \x03(\x0b\x32\x1e.Folder.SharedFolderRecordData\"_\n\x15SharedFolderRecordFix\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12 \n\x18\x65ncryptedRecordFolderKey\x18\x03 \x01(\x0c\"Y\n\x19SharedFolderRecordFixList\x12<\n\x15sharedFolderRecordFix\x18\x01 \x03(\x0b\x32\x1d.Folder.SharedFolderRecordFix\"\xa2\x02\n\rRecordRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12&\n\nrecordType\x18\x02 \x01(\x0e\x32\x12.Folder.RecordType\x12\x12\n\nrecordData\x18\x03 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x04 \x01(\x0c\x12&\n\nfolderType\x18\x05 \x01(\x0e\x32\x12.Folder.FolderType\x12\x12\n\nhowLongAgo\x18\x06 \x01(\x03\x12\x11\n\tfolderUid\x18\x07 \x01(\x0c\x12 \n\x18\x65ncryptedRecordFolderKey\x18\x08 \x01(\x0c\x12\r\n\x05\x65xtra\x18\t \x01(\x0c\x12\x15\n\rnonSharedData\x18\n \x01(\x0c\x12\x0f\n\x07\x66ileIds\x18\x0b \x03(\x03\"E\n\x0eRecordResponse\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\"\x80\x01\n\x12SharedFolderFields\x12\x1b\n\x13\x65ncryptedFolderName\x18\x01 \x01(\x0c\x12\x13\n\x0bmanageUsers\x18\x02 \x01(\x08\x12\x15\n\rmanageRecords\x18\x03 \x01(\x08\x12\x0f\n\x07\x63\x61nEdit\x18\x04 \x01(\x08\x12\x10\n\x08\x63\x61nShare\x18\x05 \x01(\x08\"3\n\x18SharedFolderFolderFields\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\"\x8f\x02\n\rFolderRequest\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12&\n\nfolderType\x18\x02 \x01(\x0e\x32\x12.Folder.FolderType\x12\x17\n\x0fparentFolderUid\x18\x03 \x01(\x0c\x12\x12\n\nfolderData\x18\x04 \x01(\x0c\x12\x1a\n\x12\x65ncryptedFolderKey\x18\x05 \x01(\x0c\x12\x36\n\x12sharedFolderFields\x18\x06 \x01(\x0b\x32\x1a.Folder.SharedFolderFields\x12\x42\n\x18sharedFolderFolderFields\x18\x07 \x01(\x0b\x32 .Folder.SharedFolderFolderFields\"E\n\x0e\x46olderResponse\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0e\n\x06status\x18\x03 \x01(\t\"w\n\x19ImportFolderRecordRequest\x12,\n\rfolderRequest\x18\x01 \x03(\x0b\x32\x15.Folder.FolderRequest\x12,\n\rrecordRequest\x18\x02 \x03(\x0b\x32\x15.Folder.RecordRequest\"|\n\x1aImportFolderRecordResponse\x12.\n\x0e\x66olderResponse\x18\x01 \x03(\x0b\x32\x16.Folder.FolderResponse\x12.\n\x0erecordResponse\x18\x02 \x03(\x0b\x32\x16.Folder.RecordResponse\"\xc9\x02\n\x18SharedFolderUpdateRecord\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\x12(\n\x07\x63\x61nEdit\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12)\n\x08\x63\x61nShare\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x06 \x01(\x0c\x12\x10\n\x08revision\x18\x07 \x01(\x05\x12\x12\n\nexpiration\x18\x08 \x01(\x12\x12=\n\x15timerNotificationType\x18\t \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\n \x01(\x08\"\xcc\x02\n\x16SharedFolderUpdateUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12,\n\x0bmanageUsers\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12.\n\rmanageRecords\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x1b\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x12\n\nexpiration\x18\x05 \x01(\x12\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x36\n\x14typedSharedFolderKey\x18\x07 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x1a\n\x12rotateOnExpiration\x18\x08 \x01(\x08\"\x99\x02\n\x16SharedFolderUpdateTeam\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x13\n\x0bmanageUsers\x18\x02 \x01(\x08\x12\x15\n\rmanageRecords\x18\x03 \x01(\x08\x12\x1b\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x12\n\nexpiration\x18\x05 \x01(\x12\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x36\n\x14typedSharedFolderKey\x18\x07 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x1a\n\x12rotateOnExpiration\x18\x08 \x01(\x08\"\x8e\x07\n\x1bSharedFolderUpdateV3Request\x12,\n$sharedFolderUpdateOperation_dont_use\x18\x01 \x01(\x05\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\x12!\n\x19\x65ncryptedSharedFolderName\x18\x03 \x01(\x0c\x12\x10\n\x08revision\x18\x04 \x01(\x03\x12\x13\n\x0b\x66orceUpdate\x18\x05 \x01(\x08\x12\x13\n\x0b\x66romTeamUid\x18\x06 \x01(\x0c\x12\x33\n\x12\x64\x65\x66\x61ultManageUsers\x18\x07 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x35\n\x14\x64\x65\x66\x61ultManageRecords\x18\x08 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x64\x65\x66\x61ultCanEdit\x18\t \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x30\n\x0f\x64\x65\x66\x61ultCanShare\x18\n \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12?\n\x15sharedFolderAddRecord\x18\x0b \x03(\x0b\x32 .Folder.SharedFolderUpdateRecord\x12;\n\x13sharedFolderAddUser\x18\x0c \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateUser\x12;\n\x13sharedFolderAddTeam\x18\r \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateTeam\x12\x42\n\x18sharedFolderUpdateRecord\x18\x0e \x03(\x0b\x32 .Folder.SharedFolderUpdateRecord\x12>\n\x16sharedFolderUpdateUser\x18\x0f \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateUser\x12>\n\x16sharedFolderUpdateTeam\x18\x10 \x03(\x0b\x32\x1e.Folder.SharedFolderUpdateTeam\x12 \n\x18sharedFolderRemoveRecord\x18\x11 \x03(\x0c\x12\x1e\n\x16sharedFolderRemoveUser\x18\x12 \x03(\t\x12\x1e\n\x16sharedFolderRemoveTeam\x18\x13 \x03(\x0c\x12\x19\n\x11sharedFolderOwner\x18\x14 \x01(\t\"c\n\x1dSharedFolderUpdateV3RequestV2\x12\x42\n\x15sharedFoldersUpdateV3\x18\x01 \x03(\x0b\x32#.Folder.SharedFolderUpdateV3Request\"C\n\x1eSharedFolderUpdateRecordStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\"@\n\x1cSharedFolderUpdateUserStatus\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\"?\n\x1cSharedFolderUpdateTeamStatus\x12\x0f\n\x07teamUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\"\x88\x06\n\x1cSharedFolderUpdateV3Response\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12K\n\x1bsharedFolderAddRecordStatus\x18\x02 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12G\n\x19sharedFolderAddUserStatus\x18\x03 \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12G\n\x19sharedFolderAddTeamStatus\x18\x04 \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12N\n\x1esharedFolderUpdateRecordStatus\x18\x05 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12J\n\x1csharedFolderUpdateUserStatus\x18\x06 \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12J\n\x1csharedFolderUpdateTeamStatus\x18\x07 \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12N\n\x1esharedFolderRemoveRecordStatus\x18\x08 \x03(\x0b\x32&.Folder.SharedFolderUpdateRecordStatus\x12J\n\x1csharedFolderRemoveUserStatus\x18\t \x03(\x0b\x32$.Folder.SharedFolderUpdateUserStatus\x12J\n\x1csharedFolderRemoveTeamStatus\x18\n \x03(\x0b\x32$.Folder.SharedFolderUpdateTeamStatus\x12\x17\n\x0fsharedFolderUid\x18\x0c \x01(\x0c\x12\x0e\n\x06status\x18\r \x01(\t\"m\n\x1eSharedFolderUpdateV3ResponseV2\x12K\n\x1dsharedFoldersUpdateV3Response\x18\x01 \x03(\x0b\x32$.Folder.SharedFolderUpdateV3Response\"\xfa\x01\n)GetDeletedSharedFoldersAndRecordsResponse\x12\x32\n\rsharedFolders\x18\x01 \x03(\x0b\x32\x1b.Folder.DeletedSharedFolder\x12>\n\x13sharedFolderRecords\x18\x02 \x03(\x0b\x32!.Folder.DeletedSharedFolderRecord\x12\x34\n\x11\x64\x65letedRecordData\x18\x03 \x03(\x0b\x32\x19.Folder.DeletedRecordData\x12#\n\tusernames\x18\x04 \x03(\x0b\x32\x10.Folder.Username\"\xd1\x01\n\x13\x44\x65letedSharedFolder\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x11\n\tfolderUid\x18\x02 \x01(\x0c\x12\x11\n\tparentUid\x18\x03 \x01(\x0c\x12\x17\n\x0fsharedFolderKey\x18\x04 \x01(\x0c\x12-\n\rfolderKeyType\x18\x05 \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x13\n\x0b\x64\x61teDeleted\x18\x07 \x01(\x03\x12\x10\n\x08revision\x18\x08 \x01(\x03\"\x81\x01\n\x19\x44\x65letedSharedFolderRecord\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x17\n\x0fsharedRecordKey\x18\x03 \x01(\x0c\x12\x13\n\x0b\x64\x61teDeleted\x18\x04 \x01(\x03\x12\x10\n\x08revision\x18\x05 \x01(\x03\"\x85\x01\n\x11\x44\x65letedRecordData\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08ownerUid\x18\x02 \x01(\x0c\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x1a\n\x12\x63lientModifiedTime\x18\x04 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x0f\n\x07version\x18\x06 \x01(\x05\"0\n\x08Username\x12\x12\n\naccountUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\"\x8a\x01\n,RestoreDeletedSharedFoldersAndRecordsRequest\x12,\n\x07\x66olders\x18\x01 \x03(\x0b\x32\x1b.Folder.RestoreSharedObject\x12,\n\x07records\x18\x02 \x03(\x0b\x32\x1b.Folder.RestoreSharedObject\"<\n\x13RestoreSharedObject\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x12\n\nrecordUids\x18\x02 \x03(\x0c\"\x83\x02\n\nFolderData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12%\n\x04type\x18\x04 \x01(\x0e\x32\x17.Folder.FolderUsageType\x12\x37\n\x16inheritUserPermissions\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x11\n\tfolderKey\x18\x06 \x01(\x0c\x12#\n\townerInfo\x18\x07 \x01(\x0b\x32\x10.Folder.UserInfo\x12\x13\n\x0b\x64\x61teCreated\x18\x08 \x01(\x03\x12\x14\n\x0clastModified\x18\t \x01(\x03\"z\n\tFolderKey\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x11\n\tfolderKey\x18\x03 \x01(\x0c\x12\x34\n\x0b\x65ncryptedBy\x18\x04 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\":\n\x10\x46olderAddRequest\x12&\n\nfolderData\x18\x01 \x03(\x0b\x32\x12.Folder.FolderData\"d\n\x12\x46olderModifyResult\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"I\n\x11\x46olderAddResponse\x12\x34\n\x10\x66olderAddResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderModifyResult\"=\n\x13\x46olderUpdateRequest\x12&\n\nfolderData\x18\x01 \x03(\x0b\x32\x12.Folder.FolderData\"O\n\x14\x46olderUpdateResponse\x12\x37\n\x13\x66olderUpdateResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderModifyResult\"\xc3\x02\n\x11\x46olderPermissions\x12\x0e\n\x06\x63\x61nAdd\x18\x01 \x01(\x08\x12\x11\n\tcanRemove\x18\x02 \x01(\x08\x12\x11\n\tcanDelete\x18\x03 \x01(\x08\x12\x15\n\rcanListAccess\x18\x04 \x01(\x08\x12\x17\n\x0f\x63\x61nUpdateAccess\x18\x05 \x01(\x08\x12\x1a\n\x12\x63\x61nChangeOwnership\x18\x06 \x01(\x08\x12\x16\n\x0e\x63\x61nEditRecords\x18\x07 \x01(\x08\x12\x16\n\x0e\x63\x61nViewRecords\x18\x08 \x01(\x08\x12\x18\n\x10\x63\x61nApproveAccess\x18\t \x01(\x08\x12\x18\n\x10\x63\x61nRequestAccess\x18\n \x01(\x08\x12\x18\n\x10\x63\x61nUpdateSetting\x18\x0b \x01(\x08\x12\x16\n\x0e\x63\x61nListRecords\x18\x0c \x01(\x08\x12\x16\n\x0e\x63\x61nListFolders\x18\r \x01(\x08\"\x83\x05\n\x0c\x43\x61pabilities\x12\'\n\x06\x63\x61nAdd\x18\x01 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12*\n\tcanRemove\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12*\n\tcanDelete\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12.\n\rcanListAccess\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x30\n\x0f\x63\x61nUpdateAccess\x18\x05 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x33\n\x12\x63\x61nChangeOwnership\x18\x06 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nEditRecords\x18\x07 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nViewRecords\x18\x08 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nApproveAccess\x18\t \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nRequestAccess\x18\n \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x31\n\x10\x63\x61nUpdateSetting\x18\x0b \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nListRecords\x18\x0c \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12/\n\x0e\x63\x61nListFolders\x18\r \x01(\x0e\x32\x17.Folder.SetBooleanValue\"\xb8\x01\n\x19\x46olderRecordUpdateRequest\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12*\n\naddRecords\x18\x02 \x03(\x0b\x32\x16.Folder.RecordMetadata\x12-\n\rupdateRecords\x18\x03 \x03(\x0b\x32\x16.Folder.RecordMetadata\x12-\n\rremoveRecords\x18\x04 \x03(\x0b\x32\x16.Folder.RecordMetadata\"\xd1\x01\n\x0eRecordMetadata\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x1a\n\x12\x65ncryptedRecordKey\x18\x02 \x01(\x0c\x12\x38\n\x16\x65ncryptedRecordKeyType\x18\x03 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\x12\x30\n\rtlaProperties\x18\x05 \x01(\x0b\x32\x19.common.tla.TLAProperties\x12$\n\x1crecordKeyEncryptedByOwnerKey\x18\x06 \x01(\x0c\"\x93\x01\n\x0c\x46olderRecord\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12.\n\x0erecordMetadata\x18\x02 \x01(\x0b\x32\x16.Folder.RecordMetadata\x12@\n\x17\x66olderKeyEncryptionType\x18\x03 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\"s\n\x1a\x46olderRecordUpdateResponse\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x42\n\x18\x66olderRecordUpdateResult\x18\x04 \x03(\x0b\x32 .Folder.FolderRecordUpdateResult\"j\n\x18\x46olderRecordUpdateResult\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x87\x03\n\x10\x46olderAccessData\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x15\n\raccessTypeUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x04 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12+\n\tfolderKey\x18\x05 \x01(\x0b\x32\x18.Folder.EncryptedDataKey\x12\x11\n\tinherited\x18\x06 \x01(\x08\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12.\n\x0bpermissions\x18\x08 \x01(\x0b\x32\x19.Folder.FolderPermissions\x12\x30\n\rtlaProperties\x18\t \x01(\x0b\x32\x19.common.tla.TLAProperties\x12\x13\n\x0b\x64\x61teCreated\x18\n \x01(\x03\x12\x14\n\x0clastModified\x18\x0b \x01(\x03\x12\x14\n\x0c\x64\x65niedAccess\x18\x0c \x01(\x08\"\\\n\rRevokedAccess\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x61\x63torUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\"#\n\rFolderRemoved\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\"\x93\x04\n\x10RecordAccessData\x12\x15\n\raccessTypeUid\x18\x01 \x01(\x0c\x12&\n\naccessType\x18\x02 \x01(\x0e\x32\x12.Folder.AccessType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x04 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12\r\n\x05owner\x18\x05 \x01(\x08\x12\x11\n\tinherited\x18\x06 \x01(\x08\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x0c\x64\x65niedAccess\x18\x08 \x01(\x08\x12\x16\n\x0e\x63\x61n_view_title\x18\t \x01(\x08\x12\x10\n\x08\x63\x61n_edit\x18\n \x01(\x08\x12\x10\n\x08\x63\x61n_view\x18\x0b \x01(\x08\x12\x17\n\x0f\x63\x61n_list_access\x18\x0c \x01(\x08\x12\x19\n\x11\x63\x61n_update_access\x18\r \x01(\x08\x12\x12\n\ncan_delete\x18\x0e \x01(\x08\x12\x1c\n\x14\x63\x61n_change_ownership\x18\x0f \x01(\x08\x12\x1a\n\x12\x63\x61n_request_access\x18\x10 \x01(\x08\x12\x1a\n\x12\x63\x61n_approve_access\x18\x11 \x01(\x08\x12\x13\n\x0b\x64\x61teCreated\x18\x12 \x01(\x03\x12\x14\n\x0clastModified\x18\x13 \x01(\x03\x12\x30\n\rtlaProperties\x18\x14 \x01(\x0b\x32\x19.common.tla.TLAProperties\"\xb8\x01\n\nAccessData\x12\x15\n\raccessTypeUid\x18\x01 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x02 \x01(\x0e\x32\x16.Folder.AccessRoleType\x12\x14\n\x0c\x64\x65niedAccess\x18\x03 \x01(\x08\x12\x11\n\tinherited\x18\x04 \x01(\x08\x12\x0e\n\x06hidden\x18\x05 \x01(\x08\x12*\n\x0c\x63\x61pabilities\x18\x06 \x01(\x0b\x32\x14.Folder.Capabilities\"\xb7\x01\n\x13\x46olderAccessRequest\x12\x32\n\x10\x66olderAccessAdds\x18\x01 \x03(\x0b\x32\x18.Folder.FolderAccessData\x12\x35\n\x13\x66olderAccessUpdates\x18\x02 \x03(\x0b\x32\x18.Folder.FolderAccessData\x12\x35\n\x13\x66olderAccessRemoves\x18\x03 \x03(\x0b\x32\x18.Folder.FolderAccessData\"\x9f\x01\n\x12\x46olderAccessResult\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x11\n\taccessUid\x18\x02 \x01(\x0c\x12&\n\naccessType\x18\x03 \x01(\x0e\x32\x12.Folder.AccessType\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x1a.Folder.FolderModifyStatus\x12\x0f\n\x07message\x18\x05 \x01(\t\"O\n\x14\x46olderAccessResponse\x12\x37\n\x13\x66olderAccessResults\x18\x01 \x03(\x0b\x32\x1a.Folder.FolderAccessResult\"0\n\x08UserInfo\x12\x12\n\naccountUid\x18\x01 \x01(\x0c\x12\x10\n\x08username\x18\x02 \x01(\t\"M\n\nRecordData\x12\x1e\n\x04user\x18\x01 \x01(\x0b\x32\x10.Folder.UserInfo\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\"{\n\tRecordKey\x12\x10\n\x08user_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12\x12\n\nrecord_key\x18\x03 \x01(\x0c\x12\x34\n\x12\x65ncrypted_key_type\x18\x04 \x01(\x0e\x32\x18.Folder.EncryptedKeyType*\x1a\n\nRecordType\x12\x0c\n\x08password\x10\x00*^\n\nFolderType\x12\x12\n\x0e\x64\x65\x66\x61ult_folder\x10\x00\x12\x0f\n\x0buser_folder\x10\x01\x12\x11\n\rshared_folder\x10\x02\x12\x18\n\x14shared_folder_folder\x10\x03*\x96\x01\n\x10\x45ncryptedKeyType\x12\n\n\x06no_key\x10\x00\x12\x19\n\x15\x65ncrypted_by_data_key\x10\x01\x12\x1b\n\x17\x65ncrypted_by_public_key\x10\x02\x12\x1d\n\x19\x65ncrypted_by_data_key_gcm\x10\x03\x12\x1f\n\x1b\x65ncrypted_by_public_key_ecc\x10\x04*M\n\x0fSetBooleanValue\x12\x15\n\x11\x42OOLEAN_NO_CHANGE\x10\x00\x12\x10\n\x0c\x42OOLEAN_TRUE\x10\x01\x12\x11\n\rBOOLEAN_FALSE\x10\x02*R\n\x0f\x46olderUsageType\x12\x0e\n\nUT_UNKNOWN\x10\x00\x12\r\n\tUT_NORMAL\x10\x01\x12\x0f\n\x0bUT_WORKFLOW\x10\x02\x12\x0f\n\x0bUT_TRASHCAN\x10\x03*l\n\x17\x46olderKeyEncryptionType\x12\x19\n\x15\x45NCRYPTED_BY_USER_KEY\x10\x00\x12\x1b\n\x17\x45NCRYPTED_BY_PARENT_KEY\x10\x01\x12\x19\n\x15\x45NCRYPTED_BY_TEAM_KEY\x10\x02*T\n\x12\x46olderModifyStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10\x01\x12\x11\n\rACCESS_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03*\xa4\x02\n\x14\x46olderPermissionBits\x12\n\n\x06noBits\x10\x00\x12\n\n\x06\x63\x61nAdd\x10\x01\x12\r\n\tcanRemove\x10\x02\x12\r\n\tcanDelete\x10\x04\x12\x11\n\rcanListAccess\x10\x08\x12\x13\n\x0f\x63\x61nUpdateAccess\x10\x10\x12\x16\n\x12\x63\x61nChangeOwnership\x10 \x12\x12\n\x0e\x63\x61nEditRecords\x10@\x12\x13\n\x0e\x63\x61nViewRecords\x10\x80\x01\x12\x15\n\x10\x63\x61nApproveAccess\x10\x80\x02\x12\x15\n\x10\x63\x61nRequestAccess\x10\x80\x04\x12\x15\n\x10\x63\x61nUpdateSetting\x10\x80\x08\x12\x13\n\x0e\x63\x61nListRecords\x10\x80\x10\x12\x13\n\x0e\x63\x61nListFolders\x10\x80 *\x9b\x01\n\x0e\x41\x63\x63\x65ssRoleType\x12\r\n\tNAVIGATOR\x10\x00\x12\r\n\tREQUESTOR\x10\x01\x12\n\n\x06VIEWER\x10\x02\x12\x12\n\x0eSHARED_MANAGER\x10\x03\x12\x13\n\x0f\x43ONTENT_MANAGER\x10\x04\x12\x19\n\x15\x43ONTENT_SHARE_MANAGER\x10\x05\x12\x0b\n\x07MANAGER\x10\x06\x12\x0e\n\nUNRESOLVED\x10\x07*z\n\nAccessType\x12\x0e\n\nAT_UNKNOWN\x10\x00\x12\x0c\n\x08\x41T_OWNER\x10\x01\x12\x0b\n\x07\x41T_USER\x10\x02\x12\x0b\n\x07\x41T_TEAM\x10\x03\x12\x11\n\rAT_ENTERPRISE\x10\x04\x12\r\n\tAT_FOLDER\x10\x05\x12\x12\n\x0e\x41T_APPLICATION\x10\x06*:\n\nObjectType\x12\x0e\n\nOT_UNKNOWN\x10\x00\x12\r\n\tOT_RECORD\x10\x01\x12\r\n\tOT_FOLDER\x10\x02\x42\"\n\x18\x63om.keepersecurity.protoB\x06\x46olderb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,28 +38,28 @@ _globals['_SHAREDFOLDERUPDATEUSER'].fields_by_name['sharedFolderKey']._serialized_options = b'\030\001' _globals['_SHAREDFOLDERUPDATETEAM'].fields_by_name['sharedFolderKey']._loaded_options = None _globals['_SHAREDFOLDERUPDATETEAM'].fields_by_name['sharedFolderKey']._serialized_options = b'\030\001' - _globals['_RECORDTYPE']._serialized_start=10143 - _globals['_RECORDTYPE']._serialized_end=10169 - _globals['_FOLDERTYPE']._serialized_start=10171 - _globals['_FOLDERTYPE']._serialized_end=10265 - _globals['_ENCRYPTEDKEYTYPE']._serialized_start=10268 - _globals['_ENCRYPTEDKEYTYPE']._serialized_end=10418 - _globals['_SETBOOLEANVALUE']._serialized_start=10420 - _globals['_SETBOOLEANVALUE']._serialized_end=10497 - _globals['_FOLDERUSAGETYPE']._serialized_start=10499 - _globals['_FOLDERUSAGETYPE']._serialized_end=10581 - _globals['_FOLDERKEYENCRYPTIONTYPE']._serialized_start=10583 - _globals['_FOLDERKEYENCRYPTIONTYPE']._serialized_end=10691 - _globals['_FOLDERMODIFYSTATUS']._serialized_start=10693 - _globals['_FOLDERMODIFYSTATUS']._serialized_end=10777 - _globals['_FOLDERPERMISSIONBITS']._serialized_start=10780 - _globals['_FOLDERPERMISSIONBITS']._serialized_end=11072 - _globals['_ACCESSROLETYPE']._serialized_start=11075 - _globals['_ACCESSROLETYPE']._serialized_end=11230 - _globals['_ACCESSTYPE']._serialized_start=11232 - _globals['_ACCESSTYPE']._serialized_end=11354 - _globals['_OBJECTTYPE']._serialized_start=11356 - _globals['_OBJECTTYPE']._serialized_end=11414 + _globals['_RECORDTYPE']._serialized_start=10181 + _globals['_RECORDTYPE']._serialized_end=10207 + _globals['_FOLDERTYPE']._serialized_start=10209 + _globals['_FOLDERTYPE']._serialized_end=10303 + _globals['_ENCRYPTEDKEYTYPE']._serialized_start=10306 + _globals['_ENCRYPTEDKEYTYPE']._serialized_end=10456 + _globals['_SETBOOLEANVALUE']._serialized_start=10458 + _globals['_SETBOOLEANVALUE']._serialized_end=10535 + _globals['_FOLDERUSAGETYPE']._serialized_start=10537 + _globals['_FOLDERUSAGETYPE']._serialized_end=10619 + _globals['_FOLDERKEYENCRYPTIONTYPE']._serialized_start=10621 + _globals['_FOLDERKEYENCRYPTIONTYPE']._serialized_end=10729 + _globals['_FOLDERMODIFYSTATUS']._serialized_start=10731 + _globals['_FOLDERMODIFYSTATUS']._serialized_end=10815 + _globals['_FOLDERPERMISSIONBITS']._serialized_start=10818 + _globals['_FOLDERPERMISSIONBITS']._serialized_end=11110 + _globals['_ACCESSROLETYPE']._serialized_start=11113 + _globals['_ACCESSROLETYPE']._serialized_end=11268 + _globals['_ACCESSTYPE']._serialized_start=11270 + _globals['_ACCESSTYPE']._serialized_end=11392 + _globals['_OBJECTTYPE']._serialized_start=11394 + _globals['_OBJECTTYPE']._serialized_end=11452 _globals['_ENCRYPTEDDATAKEY']._serialized_start=49 _globals['_ENCRYPTEDDATAKEY']._serialized_end=141 _globals['_SHAREDFOLDERRECORDDATA']._serialized_start=144 @@ -141,33 +141,33 @@ _globals['_FOLDERRECORDUPDATEREQUEST']._serialized_start=7479 _globals['_FOLDERRECORDUPDATEREQUEST']._serialized_end=7663 _globals['_RECORDMETADATA']._serialized_start=7666 - _globals['_RECORDMETADATA']._serialized_end=7837 - _globals['_FOLDERRECORD']._serialized_start=7840 - _globals['_FOLDERRECORD']._serialized_end=7987 - _globals['_FOLDERRECORDUPDATERESPONSE']._serialized_start=7989 - _globals['_FOLDERRECORDUPDATERESPONSE']._serialized_end=8104 - _globals['_FOLDERRECORDUPDATERESULT']._serialized_start=8106 - _globals['_FOLDERRECORDUPDATERESULT']._serialized_end=8212 - _globals['_FOLDERACCESSDATA']._serialized_start=8215 - _globals['_FOLDERACCESSDATA']._serialized_end=8606 - _globals['_REVOKEDACCESS']._serialized_start=8608 - _globals['_REVOKEDACCESS']._serialized_end=8700 - _globals['_FOLDERREMOVED']._serialized_start=8702 - _globals['_FOLDERREMOVED']._serialized_end=8737 - _globals['_RECORDACCESSDATA']._serialized_start=8740 - _globals['_RECORDACCESSDATA']._serialized_end=9271 - _globals['_ACCESSDATA']._serialized_start=9274 - _globals['_ACCESSDATA']._serialized_end=9458 - _globals['_FOLDERACCESSREQUEST']._serialized_start=9461 - _globals['_FOLDERACCESSREQUEST']._serialized_end=9644 - _globals['_FOLDERACCESSRESULT']._serialized_start=9647 - _globals['_FOLDERACCESSRESULT']._serialized_end=9806 - _globals['_FOLDERACCESSRESPONSE']._serialized_start=9808 - _globals['_FOLDERACCESSRESPONSE']._serialized_end=9887 - _globals['_USERINFO']._serialized_start=9889 - _globals['_USERINFO']._serialized_end=9937 - _globals['_RECORDDATA']._serialized_start=9939 - _globals['_RECORDDATA']._serialized_end=10016 - _globals['_RECORDKEY']._serialized_start=10018 - _globals['_RECORDKEY']._serialized_end=10141 + _globals['_RECORDMETADATA']._serialized_end=7875 + _globals['_FOLDERRECORD']._serialized_start=7878 + _globals['_FOLDERRECORD']._serialized_end=8025 + _globals['_FOLDERRECORDUPDATERESPONSE']._serialized_start=8027 + _globals['_FOLDERRECORDUPDATERESPONSE']._serialized_end=8142 + _globals['_FOLDERRECORDUPDATERESULT']._serialized_start=8144 + _globals['_FOLDERRECORDUPDATERESULT']._serialized_end=8250 + _globals['_FOLDERACCESSDATA']._serialized_start=8253 + _globals['_FOLDERACCESSDATA']._serialized_end=8644 + _globals['_REVOKEDACCESS']._serialized_start=8646 + _globals['_REVOKEDACCESS']._serialized_end=8738 + _globals['_FOLDERREMOVED']._serialized_start=8740 + _globals['_FOLDERREMOVED']._serialized_end=8775 + _globals['_RECORDACCESSDATA']._serialized_start=8778 + _globals['_RECORDACCESSDATA']._serialized_end=9309 + _globals['_ACCESSDATA']._serialized_start=9312 + _globals['_ACCESSDATA']._serialized_end=9496 + _globals['_FOLDERACCESSREQUEST']._serialized_start=9499 + _globals['_FOLDERACCESSREQUEST']._serialized_end=9682 + _globals['_FOLDERACCESSRESULT']._serialized_start=9685 + _globals['_FOLDERACCESSRESULT']._serialized_end=9844 + _globals['_FOLDERACCESSRESPONSE']._serialized_start=9846 + _globals['_FOLDERACCESSRESPONSE']._serialized_end=9925 + _globals['_USERINFO']._serialized_start=9927 + _globals['_USERINFO']._serialized_end=9975 + _globals['_RECORDDATA']._serialized_start=9977 + _globals['_RECORDDATA']._serialized_end=10054 + _globals['_RECORDKEY']._serialized_start=10056 + _globals['_RECORDKEY']._serialized_end=10179 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/folder_pb2.pyi b/keepersdk-package/src/keepersdk/proto/folder_pb2.pyi index 57a85797..78615825 100644 --- a/keepersdk-package/src/keepersdk/proto/folder_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/folder_pb2.pyi @@ -1,5 +1,5 @@ -import record_pb2 as _record_pb2 -import tla_pb2 as _tla_pb2 +from . import record_pb2 as _record_pb2 +from . import tla_pb2 as _tla_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -694,16 +694,18 @@ class FolderRecordUpdateRequest(_message.Message): def __init__(self, folderUid: _Optional[bytes] = ..., addRecords: _Optional[_Iterable[_Union[RecordMetadata, _Mapping]]] = ..., updateRecords: _Optional[_Iterable[_Union[RecordMetadata, _Mapping]]] = ..., removeRecords: _Optional[_Iterable[_Union[RecordMetadata, _Mapping]]] = ...) -> None: ... class RecordMetadata(_message.Message): - __slots__ = ("recordUid", "encryptedRecordKey", "encryptedRecordKeyType", "tlaProperties") + __slots__ = ("recordUid", "encryptedRecordKey", "encryptedRecordKeyType", "tlaProperties", "recordKeyEncryptedByOwnerKey") RECORDUID_FIELD_NUMBER: _ClassVar[int] ENCRYPTEDRECORDKEY_FIELD_NUMBER: _ClassVar[int] ENCRYPTEDRECORDKEYTYPE_FIELD_NUMBER: _ClassVar[int] TLAPROPERTIES_FIELD_NUMBER: _ClassVar[int] + RECORDKEYENCRYPTEDBYOWNERKEY_FIELD_NUMBER: _ClassVar[int] recordUid: bytes encryptedRecordKey: bytes encryptedRecordKeyType: EncryptedKeyType tlaProperties: _tla_pb2.TLAProperties - def __init__(self, recordUid: _Optional[bytes] = ..., encryptedRecordKey: _Optional[bytes] = ..., encryptedRecordKeyType: _Optional[_Union[EncryptedKeyType, str]] = ..., tlaProperties: _Optional[_Union[_tla_pb2.TLAProperties, _Mapping]] = ...) -> None: ... + recordKeyEncryptedByOwnerKey: bytes + def __init__(self, recordUid: _Optional[bytes] = ..., encryptedRecordKey: _Optional[bytes] = ..., encryptedRecordKeyType: _Optional[_Union[EncryptedKeyType, str]] = ..., tlaProperties: _Optional[_Union[_tla_pb2.TLAProperties, _Mapping]] = ..., recordKeyEncryptedByOwnerKey: _Optional[bytes] = ...) -> None: ... class FolderRecord(_message.Message): __slots__ = ("folderUid", "recordMetadata", "folderKeyEncryptionType") diff --git a/keepersdk-package/src/keepersdk/proto/pagination_pb2.py b/keepersdk-package/src/keepersdk/proto/pagination_pb2.py index 85b834b6..81be7ea4 100644 --- a/keepersdk-package/src/keepersdk/proto/pagination_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/pagination_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: pagination.proto -# Protobuf Python Version: 5.29.5 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 5, 29, - 5, + 3, '', 'pagination.proto' ) diff --git a/keepersdk-package/src/keepersdk/proto/pam_pb2.py b/keepersdk-package/src/keepersdk/proto/pam_pb2.py index e0770d73..c4c44a84 100644 --- a/keepersdk-package/src/keepersdk/proto/pam_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/pam_pb2.py @@ -26,7 +26,7 @@ from . import record_pb2 as record__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tpam.proto\x12\x03PAM\x1a\x10\x65nterprise.proto\x1a\x0crecord.proto\"\x83\x01\n\x13PAMRotationSchedule\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x14\n\x0cscheduleData\x18\x04 \x01(\t\x12\x12\n\nnoSchedule\x18\x05 \x01(\x08\"K\n\x1cPAMRotationSchedulesResponse\x12+\n\tschedules\x18\x01 \x03(\x0b\x32\x18.PAM.PAMRotationSchedule\"\x94\x01\n\x13PAMOnlineController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63onnectedOn\x18\x02 \x01(\x03\x12\x11\n\tipAddress\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12-\n\x0b\x63onnections\x18\x05 \x03(\x0b\x32\x18.PAM.PAMWebRtcConnection\"\xa7\x01\n\x13PAMWebRtcConnection\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\'\n\x04type\x18\x02 \x01(\x0e\x32\x19.PAM.WebRtcConnectionType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12\x10\n\x08userName\x18\x04 \x01(\t\x12\x11\n\tstartedOn\x18\x05 \x01(\x03\x12\x18\n\x10\x63onfigurationUid\x18\x06 \x01(\x0c\"Y\n\x14PAMOnlineControllers\x12\x12\n\ndeprecated\x18\x01 \x03(\x0c\x12-\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x18.PAM.PAMOnlineController\"9\n\x10PAMRotateRequest\x12\x12\n\nrequestUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\"A\n\x16PAMControllersResponse\x12\'\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32\x12.PAM.PAMController\"=\n\x13PAMRemoveController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"L\n\x1bPAMRemoveControllerResponse\x12-\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32\x18.PAM.PAMRemoveController\"=\n\x10PAMModifyRequest\x12)\n\noperations\x18\x01 \x03(\x0b\x32\x15.PAM.PAMDataOperation\"\x98\x01\n\x10PAMDataOperation\x12,\n\roperationType\x18\x01 \x01(\x0e\x32\x15.PAM.PAMOperationType\x12\x30\n\rconfiguration\x18\x02 \x01(\x0b\x32\x19.PAM.PAMConfigurationData\x12$\n\x07\x65lement\x18\x03 \x01(\x0b\x32\x13.PAM.PAMElementData\"e\n\x14PAMConfigurationData\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"E\n\x0ePAMElementData\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"m\n\x19PAMElementOperationResult\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12+\n\x06result\x18\x02 \x01(\x0e\x32\x1b.PAM.PAMOperationResultType\x12\x0f\n\x07message\x18\x03 \x01(\t\"B\n\x0fPAMModifyResult\x12/\n\x07results\x18\x01 \x03(\x0b\x32\x1e.PAM.PAMElementOperationResult\"x\n\nPAMElement\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x03 \x01(\x03\x12\x14\n\x0clastModified\x18\x04 \x01(\x03\x12!\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x0f.PAM.PAMElement\"#\n\x14PAMGenericUidRequest\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\"%\n\x15PAMGenericUidsRequest\x12\x0c\n\x04uids\x18\x01 \x03(\x0c\"\xab\x01\n\x10PAMConfiguration\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\x14\n\x0clastModified\x18\x06 \x01(\x03\x12!\n\x08\x63hildren\x18\x07 \x03(\x0b\x32\x0f.PAM.PAMElement\"B\n\x11PAMConfigurations\x12-\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x15.PAM.PAMConfiguration\"\xff\x01\n\rPAMController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x03 \x01(\t\x12\x12\n\ndeviceName\x18\x04 \x01(\t\x12\x0e\n\x06nodeId\x18\x05 \x01(\x03\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x03\x12\x14\n\x0clastModified\x18\x07 \x01(\x03\x12\x16\n\x0e\x61pplicationUid\x18\x08 \x01(\x0c\x12\x30\n\rappClientType\x18\t \x01(\x0e\x32\x19.Enterprise.AppClientType\x12\x15\n\risInitialized\x18\n \x01(\x08\"P\n\x1dPAMSetMaxInstanceCountRequest\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x18\n\x10maxInstanceCount\x18\x02 \x01(\x05\"%\n\x12\x43ontrollerResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t\"M\n\x1aPAMConfigurationController\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x02 \x01(\x0c\"\xa3\x01\n\x17\x43onfigurationAddRequest\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12(\n\x0brecordLinks\x18\x04 \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\x05 \x01(\x0b\x32\x14.Records.RecordAudit\"J\n\x10RelayAccessCreds\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x12\n\nserverTime\x18\x03 \x01(\x03\"\x81\x02\n\x14PAMRecordingsRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08maxCount\x18\x02 \x01(\x05\x12\x17\n\nrangeStart\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x15\n\x08rangeEnd\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12$\n\x05types\x18\x05 \x03(\x0e\x32\x15.PAM.PAMRecordingType\x12)\n\x05risks\x18\x06 \x03(\x0e\x32\x1a.PAM.PAMRecordingRiskLevel\x12\x11\n\tprotocols\x18\x07 \x03(\t\x12\x14\n\x0c\x63loseReasons\x18\x08 \x03(\x05\x42\r\n\x0b_rangeStartB\x0b\n\t_rangeEnd\"\xd4\x02\n\x0cPAMRecording\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12,\n\rrecordingType\x18\x02 \x01(\x0e\x32\x15.PAM.PAMRecordingType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12\x10\n\x08userName\x18\x04 \x01(\t\x12\x11\n\tstartedOn\x18\x05 \x01(\x03\x12\x0e\n\x06length\x18\x06 \x01(\x05\x12\x10\n\x08\x66ileSize\x18\x07 \x01(\x03\x12\x11\n\tcreatedOn\x18\x08 \x01(\x03\x12\x10\n\x08protocol\x18\t \x01(\t\x12\x13\n\x0b\x63loseReason\x18\n \x01(\x05\x12\x19\n\x11recordingDuration\x18\x0b \x01(\x05\x12\x36\n\x12\x61iOverallRiskLevel\x18\x0c \x01(\x0e\x32\x1a.PAM.PAMRecordingRiskLevel\x12\x18\n\x10\x61iOverallSummary\x18\r \x01(\x0c\"O\n\x15PAMRecordingsResponse\x12%\n\nrecordings\x18\x01 \x03(\x0b\x32\x11.PAM.PAMRecording\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\"*\n\x07PAMData\x12\x0e\n\x06vertex\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"\x17\n\x07UidList\x12\x0c\n\x04uids\x18\x01 \x03(\x0c\"\x84\x03\n\x11PAMResourceConfig\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\nnetworkUid\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08\x61\x64minUid\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04meta\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x1f\n\x12\x63onnectionSettings\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12\'\n\x0c\x63onnectUsers\x18\x06 \x01(\x0b\x32\x0c.PAM.UidListH\x04\x88\x01\x01\x12\x16\n\tdomainUid\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bjitSettings\x18\x08 \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10keeperAiSettings\x18\t \x01(\x0cH\x07\x88\x01\x01\x42\r\n\x0b_networkUidB\x0b\n\t_adminUidB\x07\n\x05_metaB\x15\n\x13_connectionSettingsB\x0f\n\r_connectUsersB\x0c\n\n_domainUidB\x0e\n\x0c_jitSettingsB\x13\n\x11_keeperAiSettings\"%\n\x16PAMUniversalSyncFolder\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\"\xfc\x01\n\x16PAMUniversalSyncConfig\x12\x12\n\nnetworkUid\x18\x01 \x01(\x0c\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rdryRunEnabled\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12,\n\x07\x66olders\x18\x04 \x03(\x0b\x32\x1b.PAM.PAMUniversalSyncFolder\x12\x19\n\x0csyncIdentity\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x12\x16\n\tvaultName\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\n\n\x08_enabledB\x10\n\x0e_dryRunEnabledB\x0f\n\r_syncIdentityB\x0c\n\n_vaultName\"7\n\x11NhiMetricsRequest\x12\x11\n\tstartTime\x18\x01 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x02 \x01(\x03\"\x9c\x02\n\x0ePamUsageByUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12!\n\x19recordRotationScheduledOk\x18\x02 \x01(\x05\x12\x1c\n\x14pamConnectionStarted\x18\x03 \x01(\x05\x12\x18\n\x10pamTunnelStarted\x18\x04 \x01(\x05\x12\x1b\n\x13\x64iscoveryJobStarted\x18\x05 \x01(\x05\x12 \n\x18recordRotationOnDemandOk\x18\x06 \x01(\x05\x12\"\n\x1apamSessionRecordingStarted\x18\x07 \x01(\x05\x12\x15\n\rpamRbiStarted\x18\x08 \x01(\x05\x12%\n\x1dpamSessionRbiRecordingStarted\x18\t \x01(\x05\"\xc1\x01\n\x12NhiMetricsResponse\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x03\x12\x11\n\tstartTime\x18\x02 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x03 \x01(\x03\x12\x18\n\x10uniqueKsmDevices\x18\x04 \x01(\x05\x12\x18\n\x10pamGatewayOnline\x18\x05 \x01(\x05\x12+\n\x0epamUsageByUser\x18\x06 \x03(\x0b\x32\x13.PAM.PamUsageByUser\x12\x10\n\x08nhiCount\x18\x07 \x01(\x05\"D\n\x16NhiBulkMetricsResponse\x12*\n\tresponses\x18\x01 \x03(\x0b\x32\x17.PAM.NhiMetricsResponse*\x9e\x01\n\x14WebRtcConnectionType\x12\x0e\n\nCONNECTION\x10\x00\x12\n\n\x06TUNNEL\x10\x01\x12\x07\n\x03SSH\x10\x02\x12\x07\n\x03RDP\x10\x03\x12\x08\n\x04HTTP\x10\x04\x12\x07\n\x03VNC\x10\x05\x12\n\n\x06TELNET\x10\x06\x12\t\n\x05MYSQL\x10\x07\x12\x0e\n\nSQL_SERVER\x10\x08\x12\x0e\n\nPOSTGRESQL\x10\t\x12\x0e\n\nKUBERNETES\x10\n*@\n\x10PAMOperationType\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\x0b\n\x07REPLACE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03*p\n\x16PAMOperationResultType\x12\x0f\n\x0bPOT_SUCCESS\x10\x00\x12\x15\n\x11POT_UNKNOWN_ERROR\x10\x01\x12\x16\n\x12POT_ALREADY_EXISTS\x10\x02\x12\x16\n\x12POT_DOES_NOT_EXIST\x10\x03*\xc9\x01\n\x15\x43ontrollerMessageType\x12\x0f\n\x0b\x43MT_GENERAL\x10\x00\x12\x0e\n\nCMT_ROTATE\x10\x01\x12\x11\n\rCMT_DISCOVERY\x10\x02\x12\x0f\n\x0b\x43MT_CONNECT\x10\x03\x12\x19\n\x15\x43MT_ANALYZE_RECORDING\x10\x04\x12!\n\x1d\x43MT_WORKFLOW_ACCESS_ELEVATION\x10\x05\x12\x0b\n\x07\x43MT_USS\x10\x06\x12\x0c\n\x08\x43MT_INFO\x10\x07\x12\x12\n\x0e\x43MT_AUTOMATION\x10\x08*V\n\x10PAMRecordingType\x12\x0f\n\x0bPRT_SESSION\x10\x00\x12\x12\n\x0ePRT_TYPESCRIPT\x10\x01\x12\x0c\n\x08PRT_TIME\x10\x02\x12\x0f\n\x0bPRT_SUMMARY\x10\x03*i\n\x15PAMRecordingRiskLevel\x12\x13\n\x0fPRR_UNSPECIFIED\x10\x00\x12\x0b\n\x07PRR_LOW\x10\x01\x12\x0e\n\nPRR_MEDIUM\x10\x02\x12\x0c\n\x08PRR_HIGH\x10\x03\x12\x10\n\x0cPRR_CRITICAL\x10\x04\x42\x1f\n\x18\x63om.keepersecurity.protoB\x03PAMb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tpam.proto\x12\x03PAM\x1a\x10\x65nterprise.proto\x1a\x0crecord.proto\"\x83\x01\n\x13PAMRotationSchedule\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x14\n\x0cscheduleData\x18\x04 \x01(\t\x12\x12\n\nnoSchedule\x18\x05 \x01(\x08\"K\n\x1cPAMRotationSchedulesResponse\x12+\n\tschedules\x18\x01 \x03(\x0b\x32\x18.PAM.PAMRotationSchedule\"\x94\x01\n\x13PAMOnlineController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63onnectedOn\x18\x02 \x01(\x03\x12\x11\n\tipAddress\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12-\n\x0b\x63onnections\x18\x05 \x03(\x0b\x32\x18.PAM.PAMWebRtcConnection\"\xa7\x01\n\x13PAMWebRtcConnection\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\'\n\x04type\x18\x02 \x01(\x0e\x32\x19.PAM.WebRtcConnectionType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12\x10\n\x08userName\x18\x04 \x01(\t\x12\x11\n\tstartedOn\x18\x05 \x01(\x03\x12\x18\n\x10\x63onfigurationUid\x18\x06 \x01(\x0c\"Y\n\x14PAMOnlineControllers\x12\x12\n\ndeprecated\x18\x01 \x03(\x0c\x12-\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x18.PAM.PAMOnlineController\"9\n\x10PAMRotateRequest\x12\x12\n\nrequestUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\"A\n\x16PAMControllersResponse\x12\'\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32\x12.PAM.PAMController\"=\n\x13PAMRemoveController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"L\n\x1bPAMRemoveControllerResponse\x12-\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32\x18.PAM.PAMRemoveController\"=\n\x10PAMModifyRequest\x12)\n\noperations\x18\x01 \x03(\x0b\x32\x15.PAM.PAMDataOperation\"\x98\x01\n\x10PAMDataOperation\x12,\n\roperationType\x18\x01 \x01(\x0e\x32\x15.PAM.PAMOperationType\x12\x30\n\rconfiguration\x18\x02 \x01(\x0b\x32\x19.PAM.PAMConfigurationData\x12$\n\x07\x65lement\x18\x03 \x01(\x0b\x32\x13.PAM.PAMElementData\"e\n\x14PAMConfigurationData\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"E\n\x0ePAMElementData\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12\x11\n\tparentUid\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"m\n\x19PAMElementOperationResult\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12+\n\x06result\x18\x02 \x01(\x0e\x32\x1b.PAM.PAMOperationResultType\x12\x0f\n\x07message\x18\x03 \x01(\t\"B\n\x0fPAMModifyResult\x12/\n\x07results\x18\x01 \x03(\x0b\x32\x1e.PAM.PAMElementOperationResult\"x\n\nPAMElement\x12\x12\n\nelementUid\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x03 \x01(\x03\x12\x14\n\x0clastModified\x18\x04 \x01(\x03\x12!\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x0f.PAM.PAMElement\"#\n\x14PAMGenericUidRequest\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\"%\n\x15PAMGenericUidsRequest\x12\x0c\n\x04uids\x18\x01 \x03(\x0c\"\xab\x01\n\x10PAMConfiguration\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x02 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\x14\n\x0clastModified\x18\x06 \x01(\x03\x12!\n\x08\x63hildren\x18\x07 \x03(\x0b\x32\x0f.PAM.PAMElement\"B\n\x11PAMConfigurations\x12-\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x15.PAM.PAMConfiguration\"\xab\x02\n\rPAMController\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x03 \x01(\t\x12\x12\n\ndeviceName\x18\x04 \x01(\t\x12\x0e\n\x06nodeId\x18\x05 \x01(\x03\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x03\x12\x14\n\x0clastModified\x18\x07 \x01(\x03\x12\x16\n\x0e\x61pplicationUid\x18\x08 \x01(\x0c\x12\x30\n\rappClientType\x18\t \x01(\x0e\x32\x19.Enterprise.AppClientType\x12\x15\n\risInitialized\x18\n \x01(\x08\x12\x18\n\x10maxInstanceCount\x18\x0b \x01(\x05\x12\x10\n\x08lastSeen\x18\x0c \x01(\x03\"P\n\x1dPAMSetMaxInstanceCountRequest\x12\x15\n\rcontrollerUid\x18\x01 \x01(\x0c\x12\x18\n\x10maxInstanceCount\x18\x02 \x01(\x05\"%\n\x12\x43ontrollerResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t\"M\n\x1aPAMConfigurationController\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x02 \x01(\x0c\"\xa3\x01\n\x17\x43onfigurationAddRequest\x12\x18\n\x10\x63onfigurationUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12(\n\x0brecordLinks\x18\x04 \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\x05 \x01(\x0b\x32\x14.Records.RecordAudit\"J\n\x10RelayAccessCreds\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x12\n\nserverTime\x18\x03 \x01(\x03\"\x81\x02\n\x14PAMRecordingsRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08maxCount\x18\x02 \x01(\x05\x12\x17\n\nrangeStart\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x15\n\x08rangeEnd\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12$\n\x05types\x18\x05 \x03(\x0e\x32\x15.PAM.PAMRecordingType\x12)\n\x05risks\x18\x06 \x03(\x0e\x32\x1a.PAM.PAMRecordingRiskLevel\x12\x11\n\tprotocols\x18\x07 \x03(\t\x12\x14\n\x0c\x63loseReasons\x18\x08 \x03(\x05\x42\r\n\x0b_rangeStartB\x0b\n\t_rangeEnd\"\xd4\x02\n\x0cPAMRecording\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12,\n\rrecordingType\x18\x02 \x01(\x0e\x32\x15.PAM.PAMRecordingType\x12\x11\n\trecordUid\x18\x03 \x01(\x0c\x12\x10\n\x08userName\x18\x04 \x01(\t\x12\x11\n\tstartedOn\x18\x05 \x01(\x03\x12\x0e\n\x06length\x18\x06 \x01(\x05\x12\x10\n\x08\x66ileSize\x18\x07 \x01(\x03\x12\x11\n\tcreatedOn\x18\x08 \x01(\x03\x12\x10\n\x08protocol\x18\t \x01(\t\x12\x13\n\x0b\x63loseReason\x18\n \x01(\x05\x12\x19\n\x11recordingDuration\x18\x0b \x01(\x05\x12\x36\n\x12\x61iOverallRiskLevel\x18\x0c \x01(\x0e\x32\x1a.PAM.PAMRecordingRiskLevel\x12\x18\n\x10\x61iOverallSummary\x18\r \x01(\x0c\"O\n\x15PAMRecordingsResponse\x12%\n\nrecordings\x18\x01 \x03(\x0b\x32\x11.PAM.PAMRecording\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\"*\n\x07PAMData\x12\x0e\n\x06vertex\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"\x17\n\x07UidList\x12\x0c\n\x04uids\x18\x01 \x03(\x0c\"\xb4\x03\n\x11PAMResourceConfig\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\nnetworkUid\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08\x61\x64minUid\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04meta\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x1f\n\x12\x63onnectionSettings\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12\'\n\x0c\x63onnectUsers\x18\x06 \x01(\x0b\x32\x0c.PAM.UidListH\x04\x88\x01\x01\x12\x16\n\tdomainUid\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bjitSettings\x18\x08 \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10keeperAiSettings\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0eupdateServices\x18\n \x01(\x08H\x08\x88\x01\x01\x42\r\n\x0b_networkUidB\x0b\n\t_adminUidB\x07\n\x05_metaB\x15\n\x13_connectionSettingsB\x0f\n\r_connectUsersB\x0c\n\n_domainUidB\x0e\n\x0c_jitSettingsB\x13\n\x11_keeperAiSettingsB\x11\n\x0f_updateServices\"%\n\x16PAMUniversalSyncFolder\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\"\xfc\x01\n\x16PAMUniversalSyncConfig\x12\x12\n\nnetworkUid\x18\x01 \x01(\x0c\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rdryRunEnabled\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12,\n\x07\x66olders\x18\x04 \x03(\x0b\x32\x1b.PAM.PAMUniversalSyncFolder\x12\x19\n\x0csyncIdentity\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x12\x16\n\tvaultName\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\n\n\x08_enabledB\x10\n\x0e_dryRunEnabledB\x0f\n\r_syncIdentityB\x0c\n\n_vaultName\"7\n\x11NhiMetricsRequest\x12\x11\n\tstartTime\x18\x01 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x02 \x01(\x03\"\x9c\x02\n\x0ePamUsageByUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12!\n\x19recordRotationScheduledOk\x18\x02 \x01(\x05\x12\x1c\n\x14pamConnectionStarted\x18\x03 \x01(\x05\x12\x18\n\x10pamTunnelStarted\x18\x04 \x01(\x05\x12\x1b\n\x13\x64iscoveryJobStarted\x18\x05 \x01(\x05\x12 \n\x18recordRotationOnDemandOk\x18\x06 \x01(\x05\x12\"\n\x1apamSessionRecordingStarted\x18\x07 \x01(\x05\x12\x15\n\rpamRbiStarted\x18\x08 \x01(\x05\x12%\n\x1dpamSessionRbiRecordingStarted\x18\t \x01(\x05\"p\n\x0eNhiUsageByUser\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\trotations\x18\x02 \x01(\x05\x12\x0f\n\x07tunnels\x18\x03 \x01(\x05\x12\x13\n\x0b\x63onnections\x18\x04 \x01(\x05\x12\x15\n\rdiscoveryJobs\x18\x05 \x01(\x05\"\x84\x02\n\x12NhiMetricsResponse\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x03\x12\x11\n\tstartTime\x18\x02 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x03 \x01(\x03\x12\x18\n\x10uniqueKsmDevices\x18\x04 \x01(\x05\x12\x18\n\x10pamGatewayOnline\x18\x05 \x01(\x05\x12/\n\x0epamUsageByUser\x18\x06 \x03(\x0b\x32\x13.PAM.PamUsageByUserB\x02\x18\x01\x12\x10\n\x08nhiCount\x18\x07 \x01(\x05\x12\x13\n\x0bksmNhiCount\x18\x08 \x01(\x05\x12(\n\x0busageByUser\x18\t \x03(\x0b\x32\x13.PAM.NhiUsageByUser\"D\n\x16NhiBulkMetricsResponse\x12*\n\tresponses\x18\x01 \x03(\x0b\x32\x17.PAM.NhiMetricsResponse\"^\n\x0bNhiUidEntry\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\"\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32\x10.PAM.NhiCategory\x12\x0e\n\x06ksmNhi\x18\x03 \x01(\x08\x12\x0e\n\x06\x61ppUid\x18\x04 \x01(\t\"7\n\x11GetNhiUidsRequest\x12\x11\n\tstartTime\x18\x01 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x02 \x01(\x03\"4\n\x12GetNhiUidsResponse\x12\x1e\n\x04uids\x18\x01 \x03(\x0b\x32\x10.PAM.NhiUidEntry\"6\n\x1dSetNhiKsmEffectiveDateRequest\x12\x15\n\reffectiveDate\x18\x01 \x01(\x03\"L\n\x1eGetNhiKsmEffectiveDateResponse\x12\x15\n\reffectiveDate\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65\x66\x61ultDate\x18\x02 \x01(\x03\"I\n\x1fPAMUniversalSyncPreCheckRequest\x12\x12\n\nnetworkUid\x18\x01 \x01(\x0c\x12\x12\n\nfolderUids\x18\x02 \x03(\x0c\"C\n\x1ePAMUniversalSyncPreCheckResult\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12\x0e\n\x06isUsed\x18\x02 \x01(\x08\"X\n PAMUniversalSyncPreCheckResponse\x12\x34\n\x07results\x18\x01 \x03(\x0b\x32#.PAM.PAMUniversalSyncPreCheckResult*\x9e\x01\n\x14WebRtcConnectionType\x12\x0e\n\nCONNECTION\x10\x00\x12\n\n\x06TUNNEL\x10\x01\x12\x07\n\x03SSH\x10\x02\x12\x07\n\x03RDP\x10\x03\x12\x08\n\x04HTTP\x10\x04\x12\x07\n\x03VNC\x10\x05\x12\n\n\x06TELNET\x10\x06\x12\t\n\x05MYSQL\x10\x07\x12\x0e\n\nSQL_SERVER\x10\x08\x12\x0e\n\nPOSTGRESQL\x10\t\x12\x0e\n\nKUBERNETES\x10\n*@\n\x10PAMOperationType\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\x0b\n\x07REPLACE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03*p\n\x16PAMOperationResultType\x12\x0f\n\x0bPOT_SUCCESS\x10\x00\x12\x15\n\x11POT_UNKNOWN_ERROR\x10\x01\x12\x16\n\x12POT_ALREADY_EXISTS\x10\x02\x12\x16\n\x12POT_DOES_NOT_EXIST\x10\x03*\xc9\x01\n\x15\x43ontrollerMessageType\x12\x0f\n\x0b\x43MT_GENERAL\x10\x00\x12\x0e\n\nCMT_ROTATE\x10\x01\x12\x11\n\rCMT_DISCOVERY\x10\x02\x12\x0f\n\x0b\x43MT_CONNECT\x10\x03\x12\x19\n\x15\x43MT_ANALYZE_RECORDING\x10\x04\x12!\n\x1d\x43MT_WORKFLOW_ACCESS_ELEVATION\x10\x05\x12\x0b\n\x07\x43MT_USS\x10\x06\x12\x0c\n\x08\x43MT_INFO\x10\x07\x12\x12\n\x0e\x43MT_AUTOMATION\x10\x08*V\n\x10PAMRecordingType\x12\x0f\n\x0bPRT_SESSION\x10\x00\x12\x12\n\x0ePRT_TYPESCRIPT\x10\x01\x12\x0c\n\x08PRT_TIME\x10\x02\x12\x0f\n\x0bPRT_SUMMARY\x10\x03*i\n\x15PAMRecordingRiskLevel\x12\x13\n\x0fPRR_UNSPECIFIED\x10\x00\x12\x0b\n\x07PRR_LOW\x10\x01\x12\x0e\n\nPRR_MEDIUM\x10\x02\x12\x0c\n\x08PRR_HIGH\x10\x03\x12\x10\n\x0cPRR_CRITICAL\x10\x04*`\n\x0bNhiCategory\x12\x18\n\x14NHI_CATEGORY_UNKNOWN\x10\x00\x12\x0c\n\x08PAM_USER\x10\x01\x12\x10\n\x0cPAM_RESOURCE\x10\x02\x12\x0b\n\x07GATEWAY\x10\x03\x12\n\n\x06\x44\x45VICE\x10\x04\x42\x1f\n\x18\x63om.keepersecurity.protoB\x03PAMb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,18 +34,22 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\003PAM' - _globals['_WEBRTCCONNECTIONTYPE']._serialized_start=4700 - _globals['_WEBRTCCONNECTIONTYPE']._serialized_end=4858 - _globals['_PAMOPERATIONTYPE']._serialized_start=4860 - _globals['_PAMOPERATIONTYPE']._serialized_end=4924 - _globals['_PAMOPERATIONRESULTTYPE']._serialized_start=4926 - _globals['_PAMOPERATIONRESULTTYPE']._serialized_end=5038 - _globals['_CONTROLLERMESSAGETYPE']._serialized_start=5041 - _globals['_CONTROLLERMESSAGETYPE']._serialized_end=5242 - _globals['_PAMRECORDINGTYPE']._serialized_start=5244 - _globals['_PAMRECORDINGTYPE']._serialized_end=5330 - _globals['_PAMRECORDINGRISKLEVEL']._serialized_start=5332 - _globals['_PAMRECORDINGRISKLEVEL']._serialized_end=5437 + _globals['_NHIMETRICSRESPONSE'].fields_by_name['pamUsageByUser']._loaded_options = None + _globals['_NHIMETRICSRESPONSE'].fields_by_name['pamUsageByUser']._serialized_options = b'\030\001' + _globals['_WEBRTCCONNECTIONTYPE']._serialized_start=5548 + _globals['_WEBRTCCONNECTIONTYPE']._serialized_end=5706 + _globals['_PAMOPERATIONTYPE']._serialized_start=5708 + _globals['_PAMOPERATIONTYPE']._serialized_end=5772 + _globals['_PAMOPERATIONRESULTTYPE']._serialized_start=5774 + _globals['_PAMOPERATIONRESULTTYPE']._serialized_end=5886 + _globals['_CONTROLLERMESSAGETYPE']._serialized_start=5889 + _globals['_CONTROLLERMESSAGETYPE']._serialized_end=6090 + _globals['_PAMRECORDINGTYPE']._serialized_start=6092 + _globals['_PAMRECORDINGTYPE']._serialized_end=6178 + _globals['_PAMRECORDINGRISKLEVEL']._serialized_start=6180 + _globals['_PAMRECORDINGRISKLEVEL']._serialized_end=6285 + _globals['_NHICATEGORY']._serialized_start=6287 + _globals['_NHICATEGORY']._serialized_end=6383 _globals['_PAMROTATIONSCHEDULE']._serialized_start=51 _globals['_PAMROTATIONSCHEDULE']._serialized_end=182 _globals['_PAMROTATIONSCHEDULESRESPONSE']._serialized_start=184 @@ -87,39 +91,57 @@ _globals['_PAMCONFIGURATIONS']._serialized_start=1883 _globals['_PAMCONFIGURATIONS']._serialized_end=1949 _globals['_PAMCONTROLLER']._serialized_start=1952 - _globals['_PAMCONTROLLER']._serialized_end=2207 - _globals['_PAMSETMAXINSTANCECOUNTREQUEST']._serialized_start=2209 - _globals['_PAMSETMAXINSTANCECOUNTREQUEST']._serialized_end=2289 - _globals['_CONTROLLERRESPONSE']._serialized_start=2291 - _globals['_CONTROLLERRESPONSE']._serialized_end=2328 - _globals['_PAMCONFIGURATIONCONTROLLER']._serialized_start=2330 - _globals['_PAMCONFIGURATIONCONTROLLER']._serialized_end=2407 - _globals['_CONFIGURATIONADDREQUEST']._serialized_start=2410 - _globals['_CONFIGURATIONADDREQUEST']._serialized_end=2573 - _globals['_RELAYACCESSCREDS']._serialized_start=2575 - _globals['_RELAYACCESSCREDS']._serialized_end=2649 - _globals['_PAMRECORDINGSREQUEST']._serialized_start=2652 - _globals['_PAMRECORDINGSREQUEST']._serialized_end=2909 - _globals['_PAMRECORDING']._serialized_start=2912 - _globals['_PAMRECORDING']._serialized_end=3252 - _globals['_PAMRECORDINGSRESPONSE']._serialized_start=3254 - _globals['_PAMRECORDINGSRESPONSE']._serialized_end=3333 - _globals['_PAMDATA']._serialized_start=3335 - _globals['_PAMDATA']._serialized_end=3377 - _globals['_UIDLIST']._serialized_start=3379 - _globals['_UIDLIST']._serialized_end=3402 - _globals['_PAMRESOURCECONFIG']._serialized_start=3405 - _globals['_PAMRESOURCECONFIG']._serialized_end=3793 - _globals['_PAMUNIVERSALSYNCFOLDER']._serialized_start=3795 - _globals['_PAMUNIVERSALSYNCFOLDER']._serialized_end=3832 - _globals['_PAMUNIVERSALSYNCCONFIG']._serialized_start=3835 - _globals['_PAMUNIVERSALSYNCCONFIG']._serialized_end=4087 - _globals['_NHIMETRICSREQUEST']._serialized_start=4089 - _globals['_NHIMETRICSREQUEST']._serialized_end=4144 - _globals['_PAMUSAGEBYUSER']._serialized_start=4147 - _globals['_PAMUSAGEBYUSER']._serialized_end=4431 - _globals['_NHIMETRICSRESPONSE']._serialized_start=4434 - _globals['_NHIMETRICSRESPONSE']._serialized_end=4627 - _globals['_NHIBULKMETRICSRESPONSE']._serialized_start=4629 - _globals['_NHIBULKMETRICSRESPONSE']._serialized_end=4697 + _globals['_PAMCONTROLLER']._serialized_end=2251 + _globals['_PAMSETMAXINSTANCECOUNTREQUEST']._serialized_start=2253 + _globals['_PAMSETMAXINSTANCECOUNTREQUEST']._serialized_end=2333 + _globals['_CONTROLLERRESPONSE']._serialized_start=2335 + _globals['_CONTROLLERRESPONSE']._serialized_end=2372 + _globals['_PAMCONFIGURATIONCONTROLLER']._serialized_start=2374 + _globals['_PAMCONFIGURATIONCONTROLLER']._serialized_end=2451 + _globals['_CONFIGURATIONADDREQUEST']._serialized_start=2454 + _globals['_CONFIGURATIONADDREQUEST']._serialized_end=2617 + _globals['_RELAYACCESSCREDS']._serialized_start=2619 + _globals['_RELAYACCESSCREDS']._serialized_end=2693 + _globals['_PAMRECORDINGSREQUEST']._serialized_start=2696 + _globals['_PAMRECORDINGSREQUEST']._serialized_end=2953 + _globals['_PAMRECORDING']._serialized_start=2956 + _globals['_PAMRECORDING']._serialized_end=3296 + _globals['_PAMRECORDINGSRESPONSE']._serialized_start=3298 + _globals['_PAMRECORDINGSRESPONSE']._serialized_end=3377 + _globals['_PAMDATA']._serialized_start=3379 + _globals['_PAMDATA']._serialized_end=3421 + _globals['_UIDLIST']._serialized_start=3423 + _globals['_UIDLIST']._serialized_end=3446 + _globals['_PAMRESOURCECONFIG']._serialized_start=3449 + _globals['_PAMRESOURCECONFIG']._serialized_end=3885 + _globals['_PAMUNIVERSALSYNCFOLDER']._serialized_start=3887 + _globals['_PAMUNIVERSALSYNCFOLDER']._serialized_end=3924 + _globals['_PAMUNIVERSALSYNCCONFIG']._serialized_start=3927 + _globals['_PAMUNIVERSALSYNCCONFIG']._serialized_end=4179 + _globals['_NHIMETRICSREQUEST']._serialized_start=4181 + _globals['_NHIMETRICSREQUEST']._serialized_end=4236 + _globals['_PAMUSAGEBYUSER']._serialized_start=4239 + _globals['_PAMUSAGEBYUSER']._serialized_end=4523 + _globals['_NHIUSAGEBYUSER']._serialized_start=4525 + _globals['_NHIUSAGEBYUSER']._serialized_end=4637 + _globals['_NHIMETRICSRESPONSE']._serialized_start=4640 + _globals['_NHIMETRICSRESPONSE']._serialized_end=4900 + _globals['_NHIBULKMETRICSRESPONSE']._serialized_start=4902 + _globals['_NHIBULKMETRICSRESPONSE']._serialized_end=4970 + _globals['_NHIUIDENTRY']._serialized_start=4972 + _globals['_NHIUIDENTRY']._serialized_end=5066 + _globals['_GETNHIUIDSREQUEST']._serialized_start=5068 + _globals['_GETNHIUIDSREQUEST']._serialized_end=5123 + _globals['_GETNHIUIDSRESPONSE']._serialized_start=5125 + _globals['_GETNHIUIDSRESPONSE']._serialized_end=5177 + _globals['_SETNHIKSMEFFECTIVEDATEREQUEST']._serialized_start=5179 + _globals['_SETNHIKSMEFFECTIVEDATEREQUEST']._serialized_end=5233 + _globals['_GETNHIKSMEFFECTIVEDATERESPONSE']._serialized_start=5235 + _globals['_GETNHIKSMEFFECTIVEDATERESPONSE']._serialized_end=5311 + _globals['_PAMUNIVERSALSYNCPRECHECKREQUEST']._serialized_start=5313 + _globals['_PAMUNIVERSALSYNCPRECHECKREQUEST']._serialized_end=5386 + _globals['_PAMUNIVERSALSYNCPRECHECKRESULT']._serialized_start=5388 + _globals['_PAMUNIVERSALSYNCPRECHECKRESULT']._serialized_end=5455 + _globals['_PAMUNIVERSALSYNCPRECHECKRESPONSE']._serialized_start=5457 + _globals['_PAMUNIVERSALSYNCPRECHECKRESPONSE']._serialized_end=5545 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/pam_pb2.pyi b/keepersdk-package/src/keepersdk/proto/pam_pb2.pyi index 030a298e..61330eee 100644 --- a/keepersdk-package/src/keepersdk/proto/pam_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/pam_pb2.pyi @@ -1,5 +1,5 @@ -import enterprise_pb2 as _enterprise_pb2 -import record_pb2 as _record_pb2 +from . import enterprise_pb2 as _enterprise_pb2 +from . import record_pb2 as _record_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -62,6 +62,14 @@ class PAMRecordingRiskLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): PRR_MEDIUM: _ClassVar[PAMRecordingRiskLevel] PRR_HIGH: _ClassVar[PAMRecordingRiskLevel] PRR_CRITICAL: _ClassVar[PAMRecordingRiskLevel] + +class NhiCategory(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + NHI_CATEGORY_UNKNOWN: _ClassVar[NhiCategory] + PAM_USER: _ClassVar[NhiCategory] + PAM_RESOURCE: _ClassVar[NhiCategory] + GATEWAY: _ClassVar[NhiCategory] + DEVICE: _ClassVar[NhiCategory] CONNECTION: WebRtcConnectionType TUNNEL: WebRtcConnectionType SSH: WebRtcConnectionType @@ -99,6 +107,11 @@ PRR_LOW: PAMRecordingRiskLevel PRR_MEDIUM: PAMRecordingRiskLevel PRR_HIGH: PAMRecordingRiskLevel PRR_CRITICAL: PAMRecordingRiskLevel +NHI_CATEGORY_UNKNOWN: NhiCategory +PAM_USER: NhiCategory +PAM_RESOURCE: NhiCategory +GATEWAY: NhiCategory +DEVICE: NhiCategory class PAMRotationSchedule(_message.Message): __slots__ = ("recordUid", "configurationUid", "controllerUid", "scheduleData", "noSchedule") @@ -291,7 +304,7 @@ class PAMConfigurations(_message.Message): def __init__(self, configurations: _Optional[_Iterable[_Union[PAMConfiguration, _Mapping]]] = ...) -> None: ... class PAMController(_message.Message): - __slots__ = ("controllerUid", "controllerName", "deviceToken", "deviceName", "nodeId", "created", "lastModified", "applicationUid", "appClientType", "isInitialized") + __slots__ = ("controllerUid", "controllerName", "deviceToken", "deviceName", "nodeId", "created", "lastModified", "applicationUid", "appClientType", "isInitialized", "maxInstanceCount", "lastSeen") CONTROLLERUID_FIELD_NUMBER: _ClassVar[int] CONTROLLERNAME_FIELD_NUMBER: _ClassVar[int] DEVICETOKEN_FIELD_NUMBER: _ClassVar[int] @@ -302,6 +315,8 @@ class PAMController(_message.Message): APPLICATIONUID_FIELD_NUMBER: _ClassVar[int] APPCLIENTTYPE_FIELD_NUMBER: _ClassVar[int] ISINITIALIZED_FIELD_NUMBER: _ClassVar[int] + MAXINSTANCECOUNT_FIELD_NUMBER: _ClassVar[int] + LASTSEEN_FIELD_NUMBER: _ClassVar[int] controllerUid: bytes controllerName: str deviceToken: str @@ -312,7 +327,9 @@ class PAMController(_message.Message): applicationUid: bytes appClientType: _enterprise_pb2.AppClientType isInitialized: bool - def __init__(self, controllerUid: _Optional[bytes] = ..., controllerName: _Optional[str] = ..., deviceToken: _Optional[str] = ..., deviceName: _Optional[str] = ..., nodeId: _Optional[int] = ..., created: _Optional[int] = ..., lastModified: _Optional[int] = ..., applicationUid: _Optional[bytes] = ..., appClientType: _Optional[_Union[_enterprise_pb2.AppClientType, str]] = ..., isInitialized: bool = ...) -> None: ... + maxInstanceCount: int + lastSeen: int + def __init__(self, controllerUid: _Optional[bytes] = ..., controllerName: _Optional[str] = ..., deviceToken: _Optional[str] = ..., deviceName: _Optional[str] = ..., nodeId: _Optional[int] = ..., created: _Optional[int] = ..., lastModified: _Optional[int] = ..., applicationUid: _Optional[bytes] = ..., appClientType: _Optional[_Union[_enterprise_pb2.AppClientType, str]] = ..., isInitialized: bool = ..., maxInstanceCount: _Optional[int] = ..., lastSeen: _Optional[int] = ...) -> None: ... class PAMSetMaxInstanceCountRequest(_message.Message): __slots__ = ("controllerUid", "maxInstanceCount") @@ -433,7 +450,7 @@ class UidList(_message.Message): def __init__(self, uids: _Optional[_Iterable[bytes]] = ...) -> None: ... class PAMResourceConfig(_message.Message): - __slots__ = ("recordUid", "networkUid", "adminUid", "meta", "connectionSettings", "connectUsers", "domainUid", "jitSettings", "keeperAiSettings") + __slots__ = ("recordUid", "networkUid", "adminUid", "meta", "connectionSettings", "connectUsers", "domainUid", "jitSettings", "keeperAiSettings", "updateServices") RECORDUID_FIELD_NUMBER: _ClassVar[int] NETWORKUID_FIELD_NUMBER: _ClassVar[int] ADMINUID_FIELD_NUMBER: _ClassVar[int] @@ -443,6 +460,7 @@ class PAMResourceConfig(_message.Message): DOMAINUID_FIELD_NUMBER: _ClassVar[int] JITSETTINGS_FIELD_NUMBER: _ClassVar[int] KEEPERAISETTINGS_FIELD_NUMBER: _ClassVar[int] + UPDATESERVICES_FIELD_NUMBER: _ClassVar[int] recordUid: bytes networkUid: bytes adminUid: bytes @@ -452,7 +470,8 @@ class PAMResourceConfig(_message.Message): domainUid: bytes jitSettings: bytes keeperAiSettings: bytes - def __init__(self, recordUid: _Optional[bytes] = ..., networkUid: _Optional[bytes] = ..., adminUid: _Optional[bytes] = ..., meta: _Optional[bytes] = ..., connectionSettings: _Optional[bytes] = ..., connectUsers: _Optional[_Union[UidList, _Mapping]] = ..., domainUid: _Optional[bytes] = ..., jitSettings: _Optional[bytes] = ..., keeperAiSettings: _Optional[bytes] = ...) -> None: ... + updateServices: bool + def __init__(self, recordUid: _Optional[bytes] = ..., networkUid: _Optional[bytes] = ..., adminUid: _Optional[bytes] = ..., meta: _Optional[bytes] = ..., connectionSettings: _Optional[bytes] = ..., connectUsers: _Optional[_Union[UidList, _Mapping]] = ..., domainUid: _Optional[bytes] = ..., jitSettings: _Optional[bytes] = ..., keeperAiSettings: _Optional[bytes] = ..., updateServices: bool = ...) -> None: ... class PAMUniversalSyncFolder(_message.Message): __slots__ = ("uid",) @@ -506,8 +525,22 @@ class PamUsageByUser(_message.Message): pamSessionRbiRecordingStarted: int def __init__(self, userId: _Optional[int] = ..., recordRotationScheduledOk: _Optional[int] = ..., pamConnectionStarted: _Optional[int] = ..., pamTunnelStarted: _Optional[int] = ..., discoveryJobStarted: _Optional[int] = ..., recordRotationOnDemandOk: _Optional[int] = ..., pamSessionRecordingStarted: _Optional[int] = ..., pamRbiStarted: _Optional[int] = ..., pamSessionRbiRecordingStarted: _Optional[int] = ...) -> None: ... +class NhiUsageByUser(_message.Message): + __slots__ = ("userId", "rotations", "tunnels", "connections", "discoveryJobs") + USERID_FIELD_NUMBER: _ClassVar[int] + ROTATIONS_FIELD_NUMBER: _ClassVar[int] + TUNNELS_FIELD_NUMBER: _ClassVar[int] + CONNECTIONS_FIELD_NUMBER: _ClassVar[int] + DISCOVERYJOBS_FIELD_NUMBER: _ClassVar[int] + userId: int + rotations: int + tunnels: int + connections: int + discoveryJobs: int + def __init__(self, userId: _Optional[int] = ..., rotations: _Optional[int] = ..., tunnels: _Optional[int] = ..., connections: _Optional[int] = ..., discoveryJobs: _Optional[int] = ...) -> None: ... + class NhiMetricsResponse(_message.Message): - __slots__ = ("enterpriseId", "startTime", "endTime", "uniqueKsmDevices", "pamGatewayOnline", "pamUsageByUser", "nhiCount") + __slots__ = ("enterpriseId", "startTime", "endTime", "uniqueKsmDevices", "pamGatewayOnline", "pamUsageByUser", "nhiCount", "ksmNhiCount", "usageByUser") ENTERPRISEID_FIELD_NUMBER: _ClassVar[int] STARTTIME_FIELD_NUMBER: _ClassVar[int] ENDTIME_FIELD_NUMBER: _ClassVar[int] @@ -515,6 +548,8 @@ class NhiMetricsResponse(_message.Message): PAMGATEWAYONLINE_FIELD_NUMBER: _ClassVar[int] PAMUSAGEBYUSER_FIELD_NUMBER: _ClassVar[int] NHICOUNT_FIELD_NUMBER: _ClassVar[int] + KSMNHICOUNT_FIELD_NUMBER: _ClassVar[int] + USAGEBYUSER_FIELD_NUMBER: _ClassVar[int] enterpriseId: int startTime: int endTime: int @@ -522,10 +557,74 @@ class NhiMetricsResponse(_message.Message): pamGatewayOnline: int pamUsageByUser: _containers.RepeatedCompositeFieldContainer[PamUsageByUser] nhiCount: int - def __init__(self, enterpriseId: _Optional[int] = ..., startTime: _Optional[int] = ..., endTime: _Optional[int] = ..., uniqueKsmDevices: _Optional[int] = ..., pamGatewayOnline: _Optional[int] = ..., pamUsageByUser: _Optional[_Iterable[_Union[PamUsageByUser, _Mapping]]] = ..., nhiCount: _Optional[int] = ...) -> None: ... + ksmNhiCount: int + usageByUser: _containers.RepeatedCompositeFieldContainer[NhiUsageByUser] + def __init__(self, enterpriseId: _Optional[int] = ..., startTime: _Optional[int] = ..., endTime: _Optional[int] = ..., uniqueKsmDevices: _Optional[int] = ..., pamGatewayOnline: _Optional[int] = ..., pamUsageByUser: _Optional[_Iterable[_Union[PamUsageByUser, _Mapping]]] = ..., nhiCount: _Optional[int] = ..., ksmNhiCount: _Optional[int] = ..., usageByUser: _Optional[_Iterable[_Union[NhiUsageByUser, _Mapping]]] = ...) -> None: ... class NhiBulkMetricsResponse(_message.Message): __slots__ = ("responses",) RESPONSES_FIELD_NUMBER: _ClassVar[int] responses: _containers.RepeatedCompositeFieldContainer[NhiMetricsResponse] def __init__(self, responses: _Optional[_Iterable[_Union[NhiMetricsResponse, _Mapping]]] = ...) -> None: ... + +class NhiUidEntry(_message.Message): + __slots__ = ("uid", "category", "ksmNhi", "appUid") + UID_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + KSMNHI_FIELD_NUMBER: _ClassVar[int] + APPUID_FIELD_NUMBER: _ClassVar[int] + uid: str + category: NhiCategory + ksmNhi: bool + appUid: str + def __init__(self, uid: _Optional[str] = ..., category: _Optional[_Union[NhiCategory, str]] = ..., ksmNhi: bool = ..., appUid: _Optional[str] = ...) -> None: ... + +class GetNhiUidsRequest(_message.Message): + __slots__ = ("startTime", "endTime") + STARTTIME_FIELD_NUMBER: _ClassVar[int] + ENDTIME_FIELD_NUMBER: _ClassVar[int] + startTime: int + endTime: int + def __init__(self, startTime: _Optional[int] = ..., endTime: _Optional[int] = ...) -> None: ... + +class GetNhiUidsResponse(_message.Message): + __slots__ = ("uids",) + UIDS_FIELD_NUMBER: _ClassVar[int] + uids: _containers.RepeatedCompositeFieldContainer[NhiUidEntry] + def __init__(self, uids: _Optional[_Iterable[_Union[NhiUidEntry, _Mapping]]] = ...) -> None: ... + +class SetNhiKsmEffectiveDateRequest(_message.Message): + __slots__ = ("effectiveDate",) + EFFECTIVEDATE_FIELD_NUMBER: _ClassVar[int] + effectiveDate: int + def __init__(self, effectiveDate: _Optional[int] = ...) -> None: ... + +class GetNhiKsmEffectiveDateResponse(_message.Message): + __slots__ = ("effectiveDate", "defaultDate") + EFFECTIVEDATE_FIELD_NUMBER: _ClassVar[int] + DEFAULTDATE_FIELD_NUMBER: _ClassVar[int] + effectiveDate: int + defaultDate: int + def __init__(self, effectiveDate: _Optional[int] = ..., defaultDate: _Optional[int] = ...) -> None: ... + +class PAMUniversalSyncPreCheckRequest(_message.Message): + __slots__ = ("networkUid", "folderUids") + NETWORKUID_FIELD_NUMBER: _ClassVar[int] + FOLDERUIDS_FIELD_NUMBER: _ClassVar[int] + networkUid: bytes + folderUids: _containers.RepeatedScalarFieldContainer[bytes] + def __init__(self, networkUid: _Optional[bytes] = ..., folderUids: _Optional[_Iterable[bytes]] = ...) -> None: ... + +class PAMUniversalSyncPreCheckResult(_message.Message): + __slots__ = ("folderUid", "isUsed") + FOLDERUID_FIELD_NUMBER: _ClassVar[int] + ISUSED_FIELD_NUMBER: _ClassVar[int] + folderUid: bytes + isUsed: bool + def __init__(self, folderUid: _Optional[bytes] = ..., isUsed: bool = ...) -> None: ... + +class PAMUniversalSyncPreCheckResponse(_message.Message): + __slots__ = ("results",) + RESULTS_FIELD_NUMBER: _ClassVar[int] + results: _containers.RepeatedCompositeFieldContainer[PAMUniversalSyncPreCheckResult] + def __init__(self, results: _Optional[_Iterable[_Union[PAMUniversalSyncPreCheckResult, _Mapping]]] = ...) -> None: ... diff --git a/keepersdk-package/src/keepersdk/proto/pedm_pb2.py b/keepersdk-package/src/keepersdk/proto/pedm_pb2.py index e1d72a4d..a9f8fe43 100644 --- a/keepersdk-package/src/keepersdk/proto/pedm_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/pedm_pb2.py @@ -26,7 +26,7 @@ from . import NotificationCenter_pb2 as NotificationCenter__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\npedm.proto\x12\x04PEDM\x1a\x0c\x66older.proto\"O\n\x17PEDMTOTPValidateRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x03 \x01(\x05\";\n\nPedmStatus\x12\x0b\n\x03key\x18\x01 \x03(\x0c\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x89\x01\n\x12PedmStatusResponse\x12#\n\taddStatus\x18\x01 \x03(\x0b\x32\x10.PEDM.PedmStatus\x12&\n\x0cupdateStatus\x18\x02 \x03(\x0b\x32\x10.PEDM.PedmStatus\x12&\n\x0cremoveStatus\x18\x03 \x03(\x0b\x32\x10.PEDM.PedmStatus\"4\n\x0e\x44\x65ploymentData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x65\x63PrivateKey\x18\x02 \x01(\x0c\"\x9a\x01\n\x17\x44\x65ploymentCreateRequest\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x65sKey\x18\x02 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x03 \x01(\x0c\x12\x19\n\x11spiffeCertificate\x18\x04 \x01(\x0c\x12\x15\n\rencryptedData\x18\x05 \x01(\x0c\x12\x11\n\tagentData\x18\x06 \x01(\x0c\"\x8d\x01\n\x17\x44\x65ploymentUpdateRequest\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12)\n\x08\x64isabled\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x19\n\x11spiffeCertificate\x18\x04 \x01(\x0c\"\xa2\x01\n\x17ModifyDeploymentRequest\x12\x34\n\raddDeployment\x18\x01 \x03(\x0b\x32\x1d.PEDM.DeploymentCreateRequest\x12\x37\n\x10updateDeployment\x18\x02 \x03(\x0b\x32\x1d.PEDM.DeploymentUpdateRequest\x12\x18\n\x10removeDeployment\x18\x03 \x03(\x0c\"a\n\x0b\x41gentUpdate\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12)\n\x08\x64isabled\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x15\n\rdeploymentUid\x18\x03 \x01(\x0c\"Q\n\x12ModifyAgentRequest\x12&\n\x0bupdateAgent\x18\x02 \x03(\x0b\x32\x11.PEDM.AgentUpdate\x12\x13\n\x0bremoveAgent\x18\x03 \x03(\x0c\"p\n\tPolicyAdd\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65ncryptedKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\"v\n\x0cPolicyUpdate\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12)\n\x08\x64isabled\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\"s\n\rPolicyRequest\x12\"\n\taddPolicy\x18\x01 \x03(\x0b\x32\x0f.PEDM.PolicyAdd\x12(\n\x0cupdatePolicy\x18\x02 \x03(\x0b\x32\x12.PEDM.PolicyUpdate\x12\x14\n\x0cremovePolicy\x18\x03 \x03(\x0c\"6\n\nPolicyLink\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x15\n\rcollectionUid\x18\x02 \x03(\x0c\"E\n\x1aSetPolicyCollectionRequest\x12\'\n\rsetCollection\x18\x01 \x03(\x0b\x32\x10.PEDM.PolicyLink\"W\n\x0f\x43ollectionValue\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ollectionType\x18\x02 \x01(\x05\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\"z\n\x12\x43ollectionLinkData\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07linkUid\x18\x02 \x01(\x0c\x12*\n\x08linkType\x18\x03 \x01(\x0e\x32\x18.PEDM.CollectionLinkType\x12\x10\n\x08linkData\x18\x04 \x01(\x0c\"\x8c\x01\n\x11\x43ollectionRequest\x12,\n\raddCollection\x18\x01 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12/\n\x10updateCollection\x18\x02 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12\x18\n\x10removeCollection\x18\x03 \x03(\x0c\"{\n\x18SetCollectionLinkRequest\x12/\n\raddCollection\x18\x01 \x03(\x0b\x32\x18.PEDM.CollectionLinkData\x12.\n\x10removeCollection\x18\x02 \x03(\x0b\x32\x14.PEDM.CollectionLink\";\n\x12\x41pprovalExtendData\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x65xpireIn\x18\x02 \x01(\x05\"I\n\x15ModifyApprovalRequest\x12\x30\n\x0e\x65xtendApproval\x18\x01 \x03(\x0b\x32\x18.PEDM.ApprovalExtendData\"F\n\x15\x41pprovalActionRequest\x12\x0f\n\x07\x61pprove\x18\x01 \x03(\x0c\x12\x0c\n\x04\x64\x65ny\x18\x02 \x03(\x0c\x12\x0e\n\x06remove\x18\x03 \x03(\x0c\"\xab\x01\n\x0e\x44\x65ploymentNode\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x02 \x01(\x08\x12\x0e\n\x06\x61\x65sKey\x18\x03 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x04 \x01(\x0c\x12\x15\n\rencryptedData\x18\x05 \x01(\x0c\x12\x11\n\tagentData\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x07 \x01(\x03\x12\x10\n\x08modified\x18\x08 \x01(\x03\"\xa8\x01\n\tAgentNode\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x11\n\tmachineId\x18\x02 \x01(\t\x12\x15\n\rdeploymentUid\x18\x03 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x15\n\rencryptedData\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x07 \x01(\x03\x12\x10\n\x08modified\x18\x08 \x01(\x03\"\x94\x01\n\nPolicyNode\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65ncryptedKey\x18\x04 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\x10\n\x08modified\x18\x06 \x01(\x03\x12\x10\n\x08\x64isabled\x18\x07 \x01(\x08\"g\n\x0e\x43ollectionNode\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ollectionType\x18\x02 \x01(\x05\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\"d\n\x0e\x43ollectionLink\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07linkUid\x18\x02 \x01(\x0c\x12*\n\x08linkType\x18\x03 \x01(\x0e\x32\x18.PEDM.CollectionLinkType\"\x87\x01\n\x12\x41pprovalStatusNode\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x30\n\x0e\x61pprovalStatus\x18\x02 \x01(\x0e\x32\x18.PEDM.ApprovalStatusType\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x10\n\x08modified\x18\n \x01(\x03\"\xb3\x01\n\x0c\x41pprovalNode\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x61pprovalType\x18\x02 \x01(\x05\x12\x10\n\x08\x61gentUid\x18\x03 \x01(\x0c\x12\x13\n\x0b\x61\x63\x63ountInfo\x18\x04 \x01(\x0c\x12\x17\n\x0f\x61pplicationInfo\x18\x05 \x01(\x0c\x12\x15\n\rjustification\x18\x06 \x01(\x0c\x12\x10\n\x08\x65xpireIn\x18\x07 \x01(\x05\x12\x0f\n\x07\x63reated\x18\n \x01(\x03\"C\n\rFullSyncToken\x12\x15\n\rstartRevision\x18\x01 \x01(\x03\x12\x0e\n\x06\x65ntity\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x03(\x0c\"$\n\x0cIncSyncToken\x12\x14\n\x0clastRevision\x18\x02 \x01(\x03\"h\n\rPedmSyncToken\x12\'\n\x08\x66ullSync\x18\x02 \x01(\x0b\x32\x13.PEDM.FullSyncTokenH\x00\x12%\n\x07incSync\x18\x03 \x01(\x0b\x32\x12.PEDM.IncSyncTokenH\x00\x42\x07\n\x05token\"/\n\x12GetPedmDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\xad\x04\n\x13GetPedmDataResponse\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x12\n\nresetCache\x18\x02 \x01(\x08\x12\x0f\n\x07hasMore\x18\x03 \x01(\x08\x12\x1a\n\x12removedDeployments\x18\n \x03(\x0c\x12\x15\n\rremovedAgents\x18\x0b \x03(\x0c\x12\x17\n\x0fremovedPolicies\x18\x0c \x03(\x0c\x12\x19\n\x11removedCollection\x18\r \x03(\x0c\x12\x33\n\x15removedCollectionLink\x18\x0e \x03(\x0b\x32\x14.PEDM.CollectionLink\x12\x18\n\x10removedApprovals\x18\x0f \x03(\x0c\x12)\n\x0b\x64\x65ployments\x18\x14 \x03(\x0b\x32\x14.PEDM.DeploymentNode\x12\x1f\n\x06\x61gents\x18\x15 \x03(\x0b\x32\x0f.PEDM.AgentNode\x12\"\n\x08policies\x18\x16 \x03(\x0b\x32\x10.PEDM.PolicyNode\x12)\n\x0b\x63ollections\x18\x17 \x03(\x0b\x32\x14.PEDM.CollectionNode\x12,\n\x0e\x63ollectionLink\x18\x18 \x03(\x0b\x32\x14.PEDM.CollectionLink\x12%\n\tapprovals\x18\x19 \x03(\x0b\x32\x12.PEDM.ApprovalNode\x12\x30\n\x0e\x61pprovalStatus\x18\x1a \x03(\x0b\x32\x18.PEDM.ApprovalStatusNode\"<\n\x12PolicyAgentRequest\x12\x11\n\tpolicyUid\x18\x01 \x03(\x0c\x12\x13\n\x0bsummaryOnly\x18\x02 \x01(\x08\";\n\x13PolicyAgentResponse\x12\x12\n\nagentCount\x18\x01 \x01(\x05\x12\x10\n\x08\x61gentUid\x18\x02 \x03(\x0c\"]\n\x16\x41uditCollectionRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x10\n\x08valueUid\x18\x02 \x03(\x0c\x12\x16\n\x0e\x63ollectionName\x18\x03 \x03(\t\"h\n\x14\x41uditCollectionValue\x12\x16\n\x0e\x63ollectionName\x18\x01 \x01(\t\x12\x10\n\x08valueUid\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\"q\n\x17\x41uditCollectionResponse\x12*\n\x06values\x18\x01 \x03(\x0b\x32\x1a.PEDM.AuditCollectionValue\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\x12\x19\n\x11\x63ontinuationToken\x18\x03 \x01(\x0c\"H\n\x18GetCollectionLinkRequest\x12,\n\x0e\x63ollectionLink\x18\x01 \x03(\x0b\x32\x14.PEDM.CollectionLink\"Q\n\x19GetCollectionLinkResponse\x12\x34\n\x12\x63ollectionLinkData\x18\x01 \x03(\x0b\x32\x18.PEDM.CollectionLinkData\"\xaa\x01\n\x1bOfflineAgentRegisterRequest\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x15\n\rdeploymentUid\x18\x02 \x01(\x0c\x12\x11\n\tpublicKey\x18\x03 \x01(\x0c\x12\x11\n\tmachineId\x18\x04 \x01(\t\x12)\n\ncollection\x18\x05 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12\x11\n\tagentData\x18\x07 \x01(\x0c\"0\n\x1cOfflineAgentRegisterResponse\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\"/\n\x1bOfflineAgentSyncDownRequest\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\"9\n\x1cOfflineAgentSyncDownResponse\x12\x19\n\x11\x65ncryptedSyncData\x18\x01 \x01(\x0c\"?\n\x17GetAgentLastSeenRequest\x12\x12\n\nactiveOnly\x18\x01 \x01(\x08\x12\x10\n\x08\x61gentUid\x18\x02 \x03(\x0c\"3\n\rAgentLastSeen\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x10\n\x08lastSeen\x18\x02 \x01(\x03\"A\n\x18GetAgentLastSeenResponse\x12%\n\x08lastSeen\x18\x01 \x03(\x0b\x32\x13.PEDM.AgentLastSeen\"2\n\x1aGetActiveAgentCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x03(\x05\">\n\x10\x41\x63tiveAgentCount\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x14\n\x0c\x61\x63tiveAgents\x18\x02 \x01(\x05\";\n\x12\x41\x63tiveAgentFailure\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"x\n\x1bGetActiveAgentCountResponse\x12*\n\nagentCount\x18\x01 \x03(\x0b\x32\x16.PEDM.ActiveAgentCount\x12-\n\x0b\x66\x61iledCount\x18\x02 \x03(\x0b\x32\x18.PEDM.ActiveAgentFailure\"\x87\x01\n\x19GetAgentDailyCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x03(\x05\x12$\n\tmonthYear\x18\x02 \x01(\x0b\x32\x0f.PEDM.MonthYearH\x00\x12$\n\tdateRange\x18\x03 \x01(\x0b\x32\x0f.PEDM.DateRangeH\x00\x42\x08\n\x06period\"(\n\tMonthYear\x12\r\n\x05month\x18\x01 \x01(\x05\x12\x0c\n\x04year\x18\x02 \x01(\x05\"\'\n\tDateRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\"3\n\x0f\x41gentDailyCount\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x03\x12\x12\n\nagentCount\x18\x02 \x01(\x05\"V\n\x17\x41gentCountForEnterprise\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12%\n\x06\x63ounts\x18\x02 \x03(\x0b\x32\x15.PEDM.AgentDailyCount\"U\n\x1aGetAgentDailyCountResponse\x12\x37\n\x10\x65nterpriseCounts\x18\x01 \x03(\x0b\x32\x1d.PEDM.AgentCountForEnterprise*j\n\x12\x43ollectionLinkType\x12\r\n\tCLT_OTHER\x10\x00\x12\r\n\tCLT_AGENT\x10\x01\x12\x0e\n\nCLT_POLICY\x10\x02\x12\x12\n\x0e\x43LT_COLLECTION\x10\x03\x12\x12\n\x0e\x43LT_DEPLOYMENT\x10\x04*o\n\x12\x41pprovalStatusType\x12\x13\n\x0f\x41ST_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x41ST_APPROVED\x10\x01\x12\x0e\n\nAST_DENIED\x10\x02\x12\x0f\n\x0b\x41ST_EXPIRED\x10\x03\x12\x11\n\rAST_ESCALATED\x10\x05\x42 \n\x18\x63om.keepersecurity.protoB\x04PEDMb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\npedm.proto\x12\x04PEDM\x1a\x0c\x66older.proto\"O\n\x17PEDMTOTPValidateRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x03 \x01(\x05\";\n\nPedmStatus\x12\x0b\n\x03key\x18\x01 \x03(\x0c\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x89\x01\n\x12PedmStatusResponse\x12#\n\taddStatus\x18\x01 \x03(\x0b\x32\x10.PEDM.PedmStatus\x12&\n\x0cupdateStatus\x18\x02 \x03(\x0b\x32\x10.PEDM.PedmStatus\x12&\n\x0cremoveStatus\x18\x03 \x03(\x0b\x32\x10.PEDM.PedmStatus\"4\n\x0e\x44\x65ploymentData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x65\x63PrivateKey\x18\x02 \x01(\x0c\"\x9a\x01\n\x17\x44\x65ploymentCreateRequest\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x65sKey\x18\x02 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x03 \x01(\x0c\x12\x19\n\x11spiffeCertificate\x18\x04 \x01(\x0c\x12\x15\n\rencryptedData\x18\x05 \x01(\x0c\x12\x11\n\tagentData\x18\x06 \x01(\x0c\"\x8d\x01\n\x17\x44\x65ploymentUpdateRequest\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x15\n\rencryptedData\x18\x02 \x01(\x0c\x12)\n\x08\x64isabled\x18\x03 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x19\n\x11spiffeCertificate\x18\x04 \x01(\x0c\"\xa2\x01\n\x17ModifyDeploymentRequest\x12\x34\n\raddDeployment\x18\x01 \x03(\x0b\x32\x1d.PEDM.DeploymentCreateRequest\x12\x37\n\x10updateDeployment\x18\x02 \x03(\x0b\x32\x1d.PEDM.DeploymentUpdateRequest\x12\x18\n\x10removeDeployment\x18\x03 \x03(\x0c\"a\n\x0b\x41gentUpdate\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12)\n\x08\x64isabled\x18\x02 \x01(\x0e\x32\x17.Folder.SetBooleanValue\x12\x15\n\rdeploymentUid\x18\x03 \x01(\x0c\"Q\n\x12ModifyAgentRequest\x12&\n\x0bupdateAgent\x18\x02 \x03(\x0b\x32\x11.PEDM.AgentUpdate\x12\x13\n\x0bremoveAgent\x18\x03 \x03(\x0c\"p\n\tPolicyAdd\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65ncryptedKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\"v\n\x0cPolicyUpdate\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12)\n\x08\x64isabled\x18\x04 \x01(\x0e\x32\x17.Folder.SetBooleanValue\"s\n\rPolicyRequest\x12\"\n\taddPolicy\x18\x01 \x03(\x0b\x32\x0f.PEDM.PolicyAdd\x12(\n\x0cupdatePolicy\x18\x02 \x03(\x0b\x32\x12.PEDM.PolicyUpdate\x12\x14\n\x0cremovePolicy\x18\x03 \x03(\x0c\"6\n\nPolicyLink\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x15\n\rcollectionUid\x18\x02 \x03(\x0c\"E\n\x1aSetPolicyCollectionRequest\x12\'\n\rsetCollection\x18\x01 \x03(\x0b\x32\x10.PEDM.PolicyLink\"W\n\x0f\x43ollectionValue\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ollectionType\x18\x02 \x01(\x05\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\"z\n\x12\x43ollectionLinkData\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07linkUid\x18\x02 \x01(\x0c\x12*\n\x08linkType\x18\x03 \x01(\x0e\x32\x18.PEDM.CollectionLinkType\x12\x10\n\x08linkData\x18\x04 \x01(\x0c\"\x8c\x01\n\x11\x43ollectionRequest\x12,\n\raddCollection\x18\x01 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12/\n\x10updateCollection\x18\x02 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12\x18\n\x10removeCollection\x18\x03 \x03(\x0c\"{\n\x18SetCollectionLinkRequest\x12/\n\raddCollection\x18\x01 \x03(\x0b\x32\x18.PEDM.CollectionLinkData\x12.\n\x10removeCollection\x18\x02 \x03(\x0b\x32\x14.PEDM.CollectionLink\";\n\x12\x41pprovalExtendData\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x65xpireIn\x18\x02 \x01(\x05\"I\n\x15ModifyApprovalRequest\x12\x30\n\x0e\x65xtendApproval\x18\x01 \x03(\x0b\x32\x18.PEDM.ApprovalExtendData\"F\n\x15\x41pprovalActionRequest\x12\x0f\n\x07\x61pprove\x18\x01 \x03(\x0c\x12\x0c\n\x04\x64\x65ny\x18\x02 \x03(\x0c\x12\x0e\n\x06remove\x18\x03 \x03(\x0c\"\xab\x01\n\x0e\x44\x65ploymentNode\x12\x15\n\rdeploymentUid\x18\x01 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x02 \x01(\x08\x12\x0e\n\x06\x61\x65sKey\x18\x03 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x04 \x01(\x0c\x12\x15\n\rencryptedData\x18\x05 \x01(\x0c\x12\x11\n\tagentData\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x07 \x01(\x03\x12\x10\n\x08modified\x18\x08 \x01(\x03\"\xa8\x01\n\tAgentNode\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x11\n\tmachineId\x18\x02 \x01(\t\x12\x15\n\rdeploymentUid\x18\x03 \x01(\x0c\x12\x13\n\x0b\x65\x63PublicKey\x18\x04 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x15\n\rencryptedData\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x07 \x01(\x03\x12\x10\n\x08modified\x18\x08 \x01(\x03\"\x94\x01\n\nPolicyNode\x12\x11\n\tpolicyUid\x18\x01 \x01(\x0c\x12\x11\n\tplainData\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65ncryptedKey\x18\x04 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x05 \x01(\x03\x12\x10\n\x08modified\x18\x06 \x01(\x03\x12\x10\n\x08\x64isabled\x18\x07 \x01(\x08\"g\n\x0e\x43ollectionNode\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x63ollectionType\x18\x02 \x01(\x05\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\"d\n\x0e\x43ollectionLink\x12\x15\n\rcollectionUid\x18\x01 \x01(\x0c\x12\x0f\n\x07linkUid\x18\x02 \x01(\x0c\x12*\n\x08linkType\x18\x03 \x01(\x0e\x32\x18.PEDM.CollectionLinkType\"\x87\x01\n\x12\x41pprovalStatusNode\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x30\n\x0e\x61pprovalStatus\x18\x02 \x01(\x0e\x32\x18.PEDM.ApprovalStatusType\x12\x18\n\x10\x65nterpriseUserId\x18\x03 \x01(\x03\x12\x10\n\x08modified\x18\n \x01(\x03\"\xb3\x01\n\x0c\x41pprovalNode\x12\x13\n\x0b\x61pprovalUid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x61pprovalType\x18\x02 \x01(\x05\x12\x10\n\x08\x61gentUid\x18\x03 \x01(\x0c\x12\x13\n\x0b\x61\x63\x63ountInfo\x18\x04 \x01(\x0c\x12\x17\n\x0f\x61pplicationInfo\x18\x05 \x01(\x0c\x12\x15\n\rjustification\x18\x06 \x01(\x0c\x12\x10\n\x08\x65xpireIn\x18\x07 \x01(\x05\x12\x0f\n\x07\x63reated\x18\n \x01(\x03\"C\n\rFullSyncToken\x12\x15\n\rstartRevision\x18\x01 \x01(\x03\x12\x0e\n\x06\x65ntity\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x03(\x0c\"$\n\x0cIncSyncToken\x12\x14\n\x0clastRevision\x18\x02 \x01(\x03\"h\n\rPedmSyncToken\x12\'\n\x08\x66ullSync\x18\x02 \x01(\x0b\x32\x13.PEDM.FullSyncTokenH\x00\x12%\n\x07incSync\x18\x03 \x01(\x0b\x32\x12.PEDM.IncSyncTokenH\x00\x42\x07\n\x05token\"/\n\x12GetPedmDataRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\"\xad\x04\n\x13GetPedmDataResponse\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x12\n\nresetCache\x18\x02 \x01(\x08\x12\x0f\n\x07hasMore\x18\x03 \x01(\x08\x12\x1a\n\x12removedDeployments\x18\n \x03(\x0c\x12\x15\n\rremovedAgents\x18\x0b \x03(\x0c\x12\x17\n\x0fremovedPolicies\x18\x0c \x03(\x0c\x12\x19\n\x11removedCollection\x18\r \x03(\x0c\x12\x33\n\x15removedCollectionLink\x18\x0e \x03(\x0b\x32\x14.PEDM.CollectionLink\x12\x18\n\x10removedApprovals\x18\x0f \x03(\x0c\x12)\n\x0b\x64\x65ployments\x18\x14 \x03(\x0b\x32\x14.PEDM.DeploymentNode\x12\x1f\n\x06\x61gents\x18\x15 \x03(\x0b\x32\x0f.PEDM.AgentNode\x12\"\n\x08policies\x18\x16 \x03(\x0b\x32\x10.PEDM.PolicyNode\x12)\n\x0b\x63ollections\x18\x17 \x03(\x0b\x32\x14.PEDM.CollectionNode\x12,\n\x0e\x63ollectionLink\x18\x18 \x03(\x0b\x32\x14.PEDM.CollectionLink\x12%\n\tapprovals\x18\x19 \x03(\x0b\x32\x12.PEDM.ApprovalNode\x12\x30\n\x0e\x61pprovalStatus\x18\x1a \x03(\x0b\x32\x18.PEDM.ApprovalStatusNode\"<\n\x12PolicyAgentRequest\x12\x11\n\tpolicyUid\x18\x01 \x03(\x0c\x12\x13\n\x0bsummaryOnly\x18\x02 \x01(\x08\";\n\x13PolicyAgentResponse\x12\x12\n\nagentCount\x18\x01 \x01(\x05\x12\x10\n\x08\x61gentUid\x18\x02 \x03(\x0c\"]\n\x16\x41uditCollectionRequest\x12\x19\n\x11\x63ontinuationToken\x18\x01 \x01(\x0c\x12\x10\n\x08valueUid\x18\x02 \x03(\x0c\x12\x16\n\x0e\x63ollectionName\x18\x03 \x03(\t\"h\n\x14\x41uditCollectionValue\x12\x16\n\x0e\x63ollectionName\x18\x01 \x01(\t\x12\x10\n\x08valueUid\x18\x02 \x01(\x0c\x12\x15\n\rencryptedData\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x03\"q\n\x17\x41uditCollectionResponse\x12*\n\x06values\x18\x01 \x03(\x0b\x32\x1a.PEDM.AuditCollectionValue\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\x12\x19\n\x11\x63ontinuationToken\x18\x03 \x01(\x0c\"H\n\x18GetCollectionLinkRequest\x12,\n\x0e\x63ollectionLink\x18\x01 \x03(\x0b\x32\x14.PEDM.CollectionLink\"Q\n\x19GetCollectionLinkResponse\x12\x34\n\x12\x63ollectionLinkData\x18\x01 \x03(\x0b\x32\x18.PEDM.CollectionLinkData\"\xaa\x01\n\x1bOfflineAgentRegisterRequest\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x15\n\rdeploymentUid\x18\x02 \x01(\x0c\x12\x11\n\tpublicKey\x18\x03 \x01(\x0c\x12\x11\n\tmachineId\x18\x04 \x01(\t\x12)\n\ncollection\x18\x05 \x03(\x0b\x32\x15.PEDM.CollectionValue\x12\x11\n\tagentData\x18\x07 \x01(\x0c\"0\n\x1cOfflineAgentRegisterResponse\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\"/\n\x1bOfflineAgentSyncDownRequest\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\"9\n\x1cOfflineAgentSyncDownResponse\x12\x19\n\x11\x65ncryptedSyncData\x18\x01 \x01(\x0c\"?\n\x17GetAgentLastSeenRequest\x12\x12\n\nactiveOnly\x18\x01 \x01(\x08\x12\x10\n\x08\x61gentUid\x18\x02 \x03(\x0c\"3\n\rAgentLastSeen\x12\x10\n\x08\x61gentUid\x18\x01 \x01(\x0c\x12\x10\n\x08lastSeen\x18\x02 \x01(\x03\"A\n\x18GetAgentLastSeenResponse\x12%\n\x08lastSeen\x18\x01 \x03(\x0b\x32\x13.PEDM.AgentLastSeen\"2\n\x1aGetActiveAgentCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x03(\x05\">\n\x10\x41\x63tiveAgentCount\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x14\n\x0c\x61\x63tiveAgents\x18\x02 \x01(\x05\";\n\x12\x41\x63tiveAgentFailure\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"x\n\x1bGetActiveAgentCountResponse\x12*\n\nagentCount\x18\x01 \x03(\x0b\x32\x16.PEDM.ActiveAgentCount\x12-\n\x0b\x66\x61iledCount\x18\x02 \x03(\x0b\x32\x18.PEDM.ActiveAgentFailure\"\x87\x01\n\x19GetAgentDailyCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x03(\x05\x12$\n\tmonthYear\x18\x02 \x01(\x0b\x32\x0f.PEDM.MonthYearH\x00\x12$\n\tdateRange\x18\x03 \x01(\x0b\x32\x0f.PEDM.DateRangeH\x00\x42\x08\n\x06period\"(\n\tMonthYear\x12\r\n\x05month\x18\x01 \x01(\x05\x12\x0c\n\x04year\x18\x02 \x01(\x05\"\'\n\tDateRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\"3\n\x0f\x41gentDailyCount\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x03\x12\x12\n\nagentCount\x18\x02 \x01(\x05\"V\n\x17\x41gentCountForEnterprise\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12%\n\x06\x63ounts\x18\x02 \x03(\x0b\x32\x15.PEDM.AgentDailyCount\"U\n\x1aGetAgentDailyCountResponse\x12\x37\n\x10\x65nterpriseCounts\x18\x01 \x03(\x0b\x32\x1d.PEDM.AgentCountForEnterprise\"t\n\x1eGetAgenticWorkloadCountRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x03(\x05\x12\x10\n\x06preset\x18\x02 \x01(\tH\x00\x12 \n\x05range\x18\x03 \x01(\x0b\x32\x0f.PEDM.DateRangeH\x00\x42\x08\n\x06period\"F\n\x17\x45nterpriseWorkloadCount\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x15\n\rworkloadCount\x18\x02 \x01(\x03\"P\n\x1fGetAgenticWorkloadCountResponse\x12-\n\x06\x63ounts\x18\x01 \x03(\x0b\x32\x1d.PEDM.EnterpriseWorkloadCount*j\n\x12\x43ollectionLinkType\x12\r\n\tCLT_OTHER\x10\x00\x12\r\n\tCLT_AGENT\x10\x01\x12\x0e\n\nCLT_POLICY\x10\x02\x12\x12\n\x0e\x43LT_COLLECTION\x10\x03\x12\x12\n\x0e\x43LT_DEPLOYMENT\x10\x04*o\n\x12\x41pprovalStatusType\x12\x13\n\x0f\x41ST_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x41ST_APPROVED\x10\x01\x12\x0e\n\nAST_DENIED\x10\x02\x12\x0f\n\x0b\x41ST_EXPIRED\x10\x03\x12\x11\n\rAST_ESCALATED\x10\x05\x42 \n\x18\x63om.keepersecurity.protoB\x04PEDMb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,10 +34,10 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\004PEDM' - _globals['_COLLECTIONLINKTYPE']._serialized_start=5890 - _globals['_COLLECTIONLINKTYPE']._serialized_end=5996 - _globals['_APPROVALSTATUSTYPE']._serialized_start=5998 - _globals['_APPROVALSTATUSTYPE']._serialized_end=6109 + _globals['_COLLECTIONLINKTYPE']._serialized_start=6162 + _globals['_COLLECTIONLINKTYPE']._serialized_end=6268 + _globals['_APPROVALSTATUSTYPE']._serialized_start=6270 + _globals['_APPROVALSTATUSTYPE']._serialized_end=6381 _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_start=34 _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_end=113 _globals['_PEDMSTATUS']._serialized_start=115 @@ -152,4 +152,10 @@ _globals['_AGENTCOUNTFORENTERPRISE']._serialized_end=5801 _globals['_GETAGENTDAILYCOUNTRESPONSE']._serialized_start=5803 _globals['_GETAGENTDAILYCOUNTRESPONSE']._serialized_end=5888 + _globals['_GETAGENTICWORKLOADCOUNTREQUEST']._serialized_start=5890 + _globals['_GETAGENTICWORKLOADCOUNTREQUEST']._serialized_end=6006 + _globals['_ENTERPRISEWORKLOADCOUNT']._serialized_start=6008 + _globals['_ENTERPRISEWORKLOADCOUNT']._serialized_end=6078 + _globals['_GETAGENTICWORKLOADCOUNTRESPONSE']._serialized_start=6080 + _globals['_GETAGENTICWORKLOADCOUNTRESPONSE']._serialized_end=6160 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/pedm_pb2.pyi b/keepersdk-package/src/keepersdk/proto/pedm_pb2.pyi index 52f82d9b..d1c44561 100644 --- a/keepersdk-package/src/keepersdk/proto/pedm_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/pedm_pb2.pyi @@ -1,4 +1,4 @@ -import folder_pb2 as _folder_pb2 +from . import folder_pb2 as _folder_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -612,3 +612,27 @@ class GetAgentDailyCountResponse(_message.Message): ENTERPRISECOUNTS_FIELD_NUMBER: _ClassVar[int] enterpriseCounts: _containers.RepeatedCompositeFieldContainer[AgentCountForEnterprise] def __init__(self, enterpriseCounts: _Optional[_Iterable[_Union[AgentCountForEnterprise, _Mapping]]] = ...) -> None: ... + +class GetAgenticWorkloadCountRequest(_message.Message): + __slots__ = ("enterpriseId", "preset", "range") + ENTERPRISEID_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + RANGE_FIELD_NUMBER: _ClassVar[int] + enterpriseId: _containers.RepeatedScalarFieldContainer[int] + preset: str + range: DateRange + def __init__(self, enterpriseId: _Optional[_Iterable[int]] = ..., preset: _Optional[str] = ..., range: _Optional[_Union[DateRange, _Mapping]] = ...) -> None: ... + +class EnterpriseWorkloadCount(_message.Message): + __slots__ = ("enterpriseId", "workloadCount") + ENTERPRISEID_FIELD_NUMBER: _ClassVar[int] + WORKLOADCOUNT_FIELD_NUMBER: _ClassVar[int] + enterpriseId: int + workloadCount: int + def __init__(self, enterpriseId: _Optional[int] = ..., workloadCount: _Optional[int] = ...) -> None: ... + +class GetAgenticWorkloadCountResponse(_message.Message): + __slots__ = ("counts",) + COUNTS_FIELD_NUMBER: _ClassVar[int] + counts: _containers.RepeatedCompositeFieldContainer[EnterpriseWorkloadCount] + def __init__(self, counts: _Optional[_Iterable[_Union[EnterpriseWorkloadCount, _Mapping]]] = ...) -> None: ... diff --git a/keepersdk-package/src/keepersdk/proto/record_details_pb2.py b/keepersdk-package/src/keepersdk/proto/record_details_pb2.py index 39bd1e04..9a8eca0c 100644 --- a/keepersdk-package/src/keepersdk/proto/record_details_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/record_details_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: record_details.proto -# Protobuf Python Version: 5.29.5 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 5, 29, - 5, + 3, '', 'record_details.proto' ) diff --git a/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.py b/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.py index 55cbe6d3..685a3de9 100644 --- a/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: record_endpoints.proto -# Protobuf Python Version: 5.29.5 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 5, 29, - 5, + 3, '', 'record_endpoints.proto' ) @@ -26,7 +26,7 @@ from . import folder_pb2 as folder__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16record_endpoints.proto\x12\trecord.v3\x1a\x0crecord.proto\x1a\x0c\x66older.proto\"\x83\x01\n\x11RecordsAddRequest\x12%\n\x07records\x18\x01 \x03(\x0b\x32\x14.record.v3.RecordAdd\x12\x12\n\nclientTime\x18\x02 \x01(\x03\x12\x33\n\x13securityDataKeyType\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\xa8\x03\n\tRecordAdd\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12/\n\rrecordKeyType\x18\x03 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\x12=\n\x14recordKeyEncryptedBy\x18\x04 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\x12\x1a\n\x12\x63lientModifiedTime\x18\x05 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x15\n\rnonSharedData\x18\x07 \x01(\x0c\x12\x11\n\tfolderUid\x18\x08 \x01(\x0c\x12(\n\x0brecordLinks\x18\t \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\n \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\x0b \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\x0c \x01(\x0b\x32\x1a.Records.SecurityScoreDataB*\n&com.keepersecurity.proto.api.record.v3P\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16record_endpoints.proto\x12\trecord.v3\x1a\x0crecord.proto\x1a\x0c\x66older.proto\"\x83\x01\n\x11RecordsAddRequest\x12%\n\x07records\x18\x01 \x03(\x0b\x32\x14.record.v3.RecordAdd\x12\x12\n\nclientTime\x18\x02 \x01(\x03\x12\x33\n\x13securityDataKeyType\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\xce\x03\n\tRecordAdd\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x11\n\trecordKey\x18\x02 \x01(\x0c\x12/\n\rrecordKeyType\x18\x03 \x01(\x0e\x32\x18.Folder.EncryptedKeyType\x12=\n\x14recordKeyEncryptedBy\x18\x04 \x01(\x0e\x32\x1f.Folder.FolderKeyEncryptionType\x12\x1a\n\x12\x63lientModifiedTime\x18\x05 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x15\n\rnonSharedData\x18\x07 \x01(\x0c\x12\x11\n\tfolderUid\x18\x08 \x01(\x0c\x12(\n\x0brecordLinks\x18\t \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\n \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\x0b \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\x0c \x01(\x0b\x32\x1a.Records.SecurityScoreData\x12$\n\x1crecordKeyEncryptedByOwnerKey\x18\r \x01(\x0c\x42*\n&com.keepersecurity.proto.api.record.v3P\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,5 +37,5 @@ _globals['_RECORDSADDREQUEST']._serialized_start=66 _globals['_RECORDSADDREQUEST']._serialized_end=197 _globals['_RECORDADD']._serialized_start=200 - _globals['_RECORDADD']._serialized_end=624 + _globals['_RECORDADD']._serialized_end=662 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.pyi b/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.pyi index d60f1357..a4a85db0 100644 --- a/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/record_endpoints_pb2.pyi @@ -18,7 +18,7 @@ class RecordsAddRequest(_message.Message): def __init__(self, records: _Optional[_Iterable[_Union[RecordAdd, _Mapping]]] = ..., clientTime: _Optional[int] = ..., securityDataKeyType: _Optional[_Union[_record_pb2.RecordKeyType, str]] = ...) -> None: ... class RecordAdd(_message.Message): - __slots__ = ("recordUid", "recordKey", "recordKeyType", "recordKeyEncryptedBy", "clientModifiedTime", "data", "nonSharedData", "folderUid", "recordLinks", "audit", "securityData", "securityScoreData") + __slots__ = ("recordUid", "recordKey", "recordKeyType", "recordKeyEncryptedBy", "clientModifiedTime", "data", "nonSharedData", "folderUid", "recordLinks", "audit", "securityData", "securityScoreData", "recordKeyEncryptedByOwnerKey") RECORDUID_FIELD_NUMBER: _ClassVar[int] RECORDKEY_FIELD_NUMBER: _ClassVar[int] RECORDKEYTYPE_FIELD_NUMBER: _ClassVar[int] @@ -31,6 +31,7 @@ class RecordAdd(_message.Message): AUDIT_FIELD_NUMBER: _ClassVar[int] SECURITYDATA_FIELD_NUMBER: _ClassVar[int] SECURITYSCOREDATA_FIELD_NUMBER: _ClassVar[int] + RECORDKEYENCRYPTEDBYOWNERKEY_FIELD_NUMBER: _ClassVar[int] recordUid: bytes recordKey: bytes recordKeyType: _folder_pb2.EncryptedKeyType @@ -43,4 +44,5 @@ class RecordAdd(_message.Message): audit: _record_pb2.RecordAudit securityData: _record_pb2.SecurityData securityScoreData: _record_pb2.SecurityScoreData - def __init__(self, recordUid: _Optional[bytes] = ..., recordKey: _Optional[bytes] = ..., recordKeyType: _Optional[_Union[_folder_pb2.EncryptedKeyType, str]] = ..., recordKeyEncryptedBy: _Optional[_Union[_folder_pb2.FolderKeyEncryptionType, str]] = ..., clientModifiedTime: _Optional[int] = ..., data: _Optional[bytes] = ..., nonSharedData: _Optional[bytes] = ..., folderUid: _Optional[bytes] = ..., recordLinks: _Optional[_Iterable[_Union[_record_pb2.RecordLink, _Mapping]]] = ..., audit: _Optional[_Union[_record_pb2.RecordAudit, _Mapping]] = ..., securityData: _Optional[_Union[_record_pb2.SecurityData, _Mapping]] = ..., securityScoreData: _Optional[_Union[_record_pb2.SecurityScoreData, _Mapping]] = ...) -> None: ... + recordKeyEncryptedByOwnerKey: bytes + def __init__(self, recordUid: _Optional[bytes] = ..., recordKey: _Optional[bytes] = ..., recordKeyType: _Optional[_Union[_folder_pb2.EncryptedKeyType, str]] = ..., recordKeyEncryptedBy: _Optional[_Union[_folder_pb2.FolderKeyEncryptionType, str]] = ..., clientModifiedTime: _Optional[int] = ..., data: _Optional[bytes] = ..., nonSharedData: _Optional[bytes] = ..., folderUid: _Optional[bytes] = ..., recordLinks: _Optional[_Iterable[_Union[_record_pb2.RecordLink, _Mapping]]] = ..., audit: _Optional[_Union[_record_pb2.RecordAudit, _Mapping]] = ..., securityData: _Optional[_Union[_record_pb2.SecurityData, _Mapping]] = ..., securityScoreData: _Optional[_Union[_record_pb2.SecurityScoreData, _Mapping]] = ..., recordKeyEncryptedByOwnerKey: _Optional[bytes] = ...) -> None: ... diff --git a/keepersdk-package/src/keepersdk/proto/record_pb2.py b/keepersdk-package/src/keepersdk/proto/record_pb2.py index a07fc5a6..4a9bd236 100644 --- a/keepersdk-package/src/keepersdk/proto/record_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/record_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0crecord.proto\x12\x07Records\"\\\n\nRecordType\x12\x14\n\x0crecordTypeId\x18\x01 \x01(\x05\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\'\n\x05scope\x18\x03 \x01(\x0e\x32\x18.Records.RecordTypeScope\"U\n\x12RecordTypesRequest\x12\x10\n\x08standard\x18\x01 \x01(\x08\x12\x0c\n\x04user\x18\x02 \x01(\x08\x12\x12\n\nenterprise\x18\x03 \x01(\x08\x12\x0b\n\x03pam\x18\x04 \x01(\x08\"\x9c\x01\n\x13RecordTypesResponse\x12(\n\x0brecordTypes\x18\x01 \x03(\x0b\x32\x13.Records.RecordType\x12\x17\n\x0fstandardCounter\x18\x02 \x01(\x05\x12\x13\n\x0buserCounter\x18\x03 \x01(\x05\x12\x19\n\x11\x65nterpriseCounter\x18\x04 \x01(\x05\x12\x12\n\npamCounter\x18\x05 \x01(\x05\"A\n\x18RecordTypeModifyResponse\x12\x14\n\x0crecordTypeId\x18\x01 \x01(\x05\x12\x0f\n\x07\x63ounter\x18\x02 \x01(\x05\"=\n\x11RecordsGetRequest\x12\x13\n\x0brecord_uids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\xd1\x01\n\x06Record\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12/\n\x0frecord_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\r\n\x05\x65xtra\x18\x05 \x01(\x0c\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x1c\n\x14\x63lient_modified_time\x18\x07 \x01(\x03\x12\x10\n\x08revision\x18\x08 \x01(\x03\x12\x10\n\x08\x66ile_ids\x18\t \x03(\x0c\"M\n\x0f\x46olderRecordKey\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12\x12\n\nrecord_key\x18\x03 \x01(\x0c\"a\n\x06\x46older\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nfolder_key\x18\x02 \x01(\x0c\x12/\n\x0f\x66older_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\x95\x01\n\x04Team\x12\x10\n\x08team_uid\x18\x01 \x01(\x0c\x12\x10\n\x08team_key\x18\x02 \x01(\x0c\x12\x18\n\x10team_private_key\x18\x03 \x01(\x0c\x12-\n\rteam_key_type\x18\x04 \x01(\x0e\x32\x16.Records.RecordKeyType\x12 \n\x07\x66olders\x18\x05 \x03(\x0b\x32\x0f.Records.Folder\"\xac\x01\n\x12RecordsGetResponse\x12 \n\x07records\x18\x01 \x03(\x0b\x32\x0f.Records.Record\x12\x34\n\x12\x66older_record_keys\x18\x02 \x03(\x0b\x32\x18.Records.FolderRecordKey\x12 \n\x07\x66olders\x18\x03 \x03(\x0b\x32\x0f.Records.Folder\x12\x1c\n\x05teams\x18\x04 \x03(\x0b\x32\r.Records.Team\"4\n\nRecordLink\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\",\n\x0bRecordAudit\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1c\n\x0cSecurityData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x11SecurityScoreData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x84\x03\n\tRecordAdd\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12.\n\x0b\x66older_type\x18\x06 \x01(\x0e\x32\x19.Records.RecordFolderType\x12\x12\n\nfolder_uid\x18\x07 \x01(\x0c\x12\x12\n\nfolder_key\x18\x08 \x01(\x0c\x12)\n\x0crecord_links\x18\t \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\n \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\x0b \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\x0c \x01(\x0b\x32\x1a.Records.SecurityScoreData\"\x85\x01\n\x11RecordsAddRequest\x12#\n\x07records\x18\x01 \x03(\x0b\x32\x12.Records.RecordAdd\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\x12\x36\n\x16security_data_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\xce\x02\n\x0cRecordUpdate\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x02 \x01(\x03\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12-\n\x10record_links_add\x18\x06 \x03(\x0b\x32\x13.Records.RecordLink\x12\x1b\n\x13record_links_remove\x18\x07 \x03(\x0c\x12#\n\x05\x61udit\x18\x08 \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\t \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\n \x01(\x0b\x32\x1a.Records.SecurityScoreData\"\x8b\x01\n\x14RecordsUpdateRequest\x12&\n\x07records\x18\x01 \x03(\x0b\x32\x15.Records.RecordUpdate\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\x12\x36\n\x16security_data_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\x8e\x01\n\x17RecordFileForConversion\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66ile_file_id\x18\x02 \x01(\t\x12\x15\n\rthumb_file_id\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x12\n\nrecord_key\x18\x05 \x01(\x0c\x12\x10\n\x08link_key\x18\x06 \x01(\x0c\"J\n\x19RecordFolderForConversion\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x19\n\x11record_folder_key\x18\x02 \x01(\x0c\"\x92\x02\n\x11RecordConvertToV3\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x02 \x01(\x03\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12#\n\x05\x61udit\x18\x06 \x01(\x0b\x32\x14.Records.RecordAudit\x12\x35\n\x0brecord_file\x18\x07 \x03(\x0b\x32 .Records.RecordFileForConversion\x12\x36\n\nfolder_key\x18\x08 \x03(\x0b\x32\".Records.RecordFolderForConversion\"]\n\x19RecordsConvertToV3Request\x12+\n\x07records\x18\x01 \x03(\x0b\x32\x1a.Records.RecordConvertToV3\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\'\n\x14RecordsRemoveRequest\x12\x0f\n\x07records\x18\x01 \x03(\x0c\">\n\x0cRecordRevert\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1a\n\x12revert_to_revision\x18\x02 \x01(\x03\">\n\x14RecordsRevertRequest\x12&\n\x07records\x18\x01 \x03(\x0b\x32\x15.Records.RecordRevert\"c\n\x0fRecordLinkError\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12+\n\x06status\x18\x02 \x01(\x0e\x32\x1b.Records.RecordModifyResult\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x95\x01\n\x12RecordModifyStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12+\n\x06status\x18\x02 \x01(\x0e\x32\x1b.Records.RecordModifyResult\x12\x0f\n\x07message\x18\x03 \x01(\t\x12-\n\x0blink_errors\x18\x04 \x03(\x0b\x32\x18.Records.RecordLinkError\"W\n\x15RecordsModifyResponse\x12,\n\x07records\x18\x01 \x03(\x0b\x32\x1b.Records.RecordModifyStatus\x12\x10\n\x08revision\x18\x02 \x01(\x03\"Y\n\x12RecordAddAuditData\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\"C\n\x13\x41\x64\x64\x41uditDataRequest\x12,\n\x07records\x18\x01 \x03(\x0b\x32\x1b.Records.RecordAddAuditData\"t\n\x04\x46ile\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x10\n\x08\x66ileSize\x18\x04 \x01(\x03\x12\x11\n\tthumbSize\x18\x05 \x01(\x05\x12\x11\n\tis_script\x18\x06 \x01(\x08\"D\n\x0f\x46ilesAddRequest\x12\x1c\n\x05\x66iles\x18\x01 \x03(\x0b\x32\r.Records.File\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\xa7\x01\n\rFileAddStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12&\n\x06status\x18\x02 \x01(\x0e\x32\x16.Records.FileAddResult\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nparameters\x18\x04 \x01(\t\x12\x1c\n\x14thumbnail_parameters\x18\x05 \x01(\t\x12\x1b\n\x13success_status_code\x18\x06 \x01(\x05\"K\n\x10\x46ilesAddResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Records.FileAddStatus\x12\x10\n\x08revision\x18\x02 \x01(\x03\"f\n\x0f\x46ilesGetRequest\x12\x13\n\x0brecord_uids\x18\x01 \x03(\x0c\x12\x16\n\x0e\x66or_thumbnails\x18\x02 \x01(\x08\x12&\n\x1e\x65mergency_access_account_owner\x18\x03 \x01(\t\"\xa2\x01\n\rFileGetStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12&\n\x06status\x18\x02 \x01(\x0e\x32\x16.Records.FileGetResult\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x1b\n\x13success_status_code\x18\x04 \x01(\x05\x12+\n\x0b\x66ileKeyType\x18\x05 \x01(\x0e\x32\x16.Records.RecordKeyType\"9\n\x10\x46ilesGetResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Records.FileGetStatus\"\x8d\x01\n\x15\x41pplicationAddRequest\x12\x0f\n\x07\x61pp_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12#\n\x05\x61udit\x18\x05 \x01(\x0b\x32\x14.Records.RecordAudit\"\x88\x01\n\"GetRecordDataWithAccessInfoRequest\x12\x12\n\nclientTime\x18\x01 \x01(\x03\x12\x11\n\trecordUid\x18\x02 \x03(\x0c\x12;\n\x14recordDetailsInclude\x18\x03 \x01(\x0e\x32\x1d.Records.RecordDetailsInclude\"\x86\x02\n\x0eUserPermission\x12\x10\n\x08username\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\x08\x12\x12\n\nshareAdmin\x18\x03 \x01(\x08\x12\x10\n\x08sharable\x18\x04 \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x05 \x01(\x08\x12\x18\n\x10\x61waitingApproval\x18\x06 \x01(\x08\x12\x12\n\nexpiration\x18\x07 \x01(\x03\x12\x12\n\naccountUid\x18\x08 \x01(\x0c\x12=\n\x15timerNotificationType\x18\t \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\n \x01(\x08\"\xd8\x01\n\x16SharedFolderPermission\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x12\n\nresharable\x18\x02 \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x03 \x01(\x08\x12\x10\n\x08revision\x18\x04 \x01(\x03\x12\x12\n\nexpiration\x18\x05 \x01(\x03\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\x07 \x01(\x08\"\xe8\x02\n\nRecordData\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x0e\n\x06shared\x18\x03 \x01(\x08\x12\x1b\n\x13\x65ncryptedRecordData\x18\x04 \x01(\t\x12\x1a\n\x12\x65ncryptedExtraData\x18\x05 \x01(\t\x12\x1a\n\x12\x63lientModifiedTime\x18\x06 \x01(\x03\x12\x15\n\rnonSharedData\x18\x07 \x01(\t\x12-\n\x10linkedRecordData\x18\x08 \x03(\x0b\x32\x13.Records.RecordData\x12\x0e\n\x06\x66ileId\x18\t \x03(\x0c\x12\x10\n\x08\x66ileSize\x18\n \x01(\x03\x12\x15\n\rthumbnailSize\x18\x0b \x01(\x03\x12-\n\rrecordKeyType\x18\x0c \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x11\n\trecordKey\x18\r \x01(\x0c\x12\x11\n\trecordUid\x18\x0e \x01(\x0c\"\xc8\x01\n\x18RecordDataWithAccessInfo\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\'\n\nrecordData\x18\x02 \x01(\x0b\x32\x13.Records.RecordData\x12/\n\x0euserPermission\x18\x03 \x03(\x0b\x32\x17.Records.UserPermission\x12?\n\x16sharedFolderPermission\x18\x04 \x03(\x0b\x32\x1f.Records.SharedFolderPermission\"\x89\x01\n#GetRecordDataWithAccessInfoResponse\x12\x43\n\x18recordDataWithAccessInfo\x18\x01 \x03(\x0b\x32!.Records.RecordDataWithAccessInfo\x12\x1d\n\x15noPermissionRecordUid\x18\x02 \x03(\x0c\"j\n\x12IsObjectShareAdmin\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07isAdmin\x18\x02 \x01(\x08\x12\x36\n\nobjectType\x18\x03 \x01(\x0e\x32\".Records.CheckShareAdminObjectType\"H\n\rAmIShareAdmin\x12\x37\n\x12isObjectShareAdmin\x18\x01 \x03(\x0b\x32\x1b.Records.IsObjectShareAdmin\"\xbc\x01\n\x18RecordShareUpdateRequest\x12.\n\x0f\x61\x64\x64SharedRecord\x18\x01 \x03(\x0b\x32\x15.Records.SharedRecord\x12\x31\n\x12updateSharedRecord\x18\x02 \x03(\x0b\x32\x15.Records.SharedRecord\x12\x31\n\x12removeSharedRecord\x18\x03 \x03(\x0b\x32\x15.Records.SharedRecord\x12\n\n\x02pt\x18\x04 \x01(\t\"\xc4\x02\n\x0cSharedRecord\x12\x12\n\ntoUsername\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x11\n\trecordKey\x18\x03 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x04 \x01(\x0c\x12\x0f\n\x07teamUid\x18\x05 \x01(\x0c\x12\x10\n\x08\x65\x64itable\x18\x06 \x01(\x08\x12\x11\n\tshareable\x18\x07 \x01(\x08\x12\x10\n\x08transfer\x18\x08 \x01(\x08\x12\x11\n\tuseEccKey\x18\t \x01(\x08\x12\x17\n\x0fremoveVaultData\x18\n \x01(\x08\x12\x12\n\nexpiration\x18\x0b \x01(\x03\x12=\n\x15timerNotificationType\x18\x0c \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\r \x01(\x08\"\xd5\x01\n\x19RecordShareUpdateResponse\x12:\n\x15\x61\x64\x64SharedRecordStatus\x18\x01 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\x12=\n\x18updateSharedRecordStatus\x18\x02 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\x12=\n\x18removeSharedRecordStatus\x18\x03 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\"Z\n\x12SharedRecordStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\"G\n\x1bGetRecordPermissionsRequest\x12\x12\n\nrecordUids\x18\x01 \x03(\x0c\x12\x14\n\x0cisShareAdmin\x18\x02 \x01(\x08\"T\n\x1cGetRecordPermissionsResponse\x12\x34\n\x11recordPermissions\x18\x01 \x03(\x0b\x32\x19.Records.RecordPermission\"l\n\x10RecordPermission\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\r\n\x05owner\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61nEdit\x18\x03 \x01(\x08\x12\x10\n\x08\x63\x61nShare\x18\x04 \x01(\x08\x12\x13\n\x0b\x63\x61nTransfer\x18\x05 \x01(\x08\"h\n\x16GetShareObjectsRequest\x12\x11\n\tstartWith\x18\x01 \x01(\t\x12\x10\n\x08\x63ontains\x18\x02 \x01(\t\x12\x10\n\x08\x66iltered\x18\x03 \x01(\x08\x12\x17\n\x0fsharedFolderUid\x18\x04 \x01(\x0c\"\xe7\x02\n\x17GetShareObjectsResponse\x12.\n\x12shareRelationships\x18\x01 \x03(\x0b\x32\x12.Records.ShareUser\x12,\n\x10shareFamilyUsers\x18\x02 \x03(\x0b\x32\x12.Records.ShareUser\x12\x30\n\x14shareEnterpriseUsers\x18\x03 \x03(\x0b\x32\x12.Records.ShareUser\x12&\n\nshareTeams\x18\x04 \x03(\x0b\x32\x12.Records.ShareTeam\x12(\n\x0cshareMCTeams\x18\x05 \x03(\x0b\x32\x12.Records.ShareTeam\x12\x32\n\x16shareMCEnterpriseUsers\x18\x06 \x03(\x0b\x32\x12.Records.ShareUser\x12\x36\n\x14shareEnterpriseNames\x18\x07 \x03(\x0b\x32\x18.Records.ShareEnterprise\"\xbd\x01\n\tShareUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08\x66ullname\x18\x02 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x03 \x01(\x05\x12$\n\x06status\x18\x04 \x01(\x0e\x32\x14.Records.ShareStatus\x12\x14\n\x0cisShareAdmin\x18\x05 \x01(\x08\x12\"\n\x1aisAdminOfSharedFolderOwner\x18\x06 \x01(\x08\x12\x16\n\x0euserAccountUid\x18\x07 \x01(\x0c\"D\n\tShareTeam\x12\x10\n\x08teamname\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\"?\n\x0fShareEnterprise\x12\x16\n\x0e\x65nterprisename\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\"S\n\x1fRecordsOnwershipTransferRequest\x12\x30\n\x0ftransferRecords\x18\x01 \x03(\x0b\x32\x17.Records.TransferRecord\"[\n\x0eTransferRecord\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x11\n\trecordKey\x18\x03 \x01(\x0c\x12\x11\n\tuseEccKey\x18\x04 \x01(\x08\"_\n RecordsOnwershipTransferResponse\x12;\n\x14transferRecordStatus\x18\x01 \x03(\x0b\x32\x1d.Records.TransferRecordStatus\"\\\n\x14TransferRecordStatus\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"y\n\x15RecordsUnshareRequest\x12\x34\n\rsharedFolders\x18\x01 \x03(\x0b\x32\x1d.Records.RecordsUnshareFolder\x12*\n\x05users\x18\x02 \x03(\x0b\x32\x1b.Records.RecordsUnshareUser\"\x86\x01\n\x16RecordsUnshareResponse\x12:\n\rsharedFolders\x18\x01 \x03(\x0b\x32#.Records.RecordsUnshareFolderStatus\x12\x30\n\x05users\x18\x02 \x03(\x0b\x32!.Records.RecordsUnshareUserStatus\"B\n\x14RecordsUnshareFolder\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\";\n\x12RecordsUnshareUser\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\"H\n\x1aRecordsUnshareFolderStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\"A\n\x18RecordsUnshareUserStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\"[\n\x1aTimedAccessCallbackPayload\x12=\n\x15timeLimitedAccessType\x18\x01 \x01(\x0e\x32\x1e.Records.TimeLimitedAccessType\"\xfd\x01\n\x18TimeLimitedAccessRequest\x12\x12\n\naccountUid\x18\x01 \x03(\x0c\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\x12\x11\n\trecordUid\x18\x03 \x03(\x0c\x12\x17\n\x0fsharedObjectUid\x18\x04 \x01(\x0c\x12=\n\x15timeLimitedAccessType\x18\x05 \x01(\x0e\x32\x1e.Records.TimeLimitedAccessType\x12\x12\n\nexpiration\x18\x06 \x01(\x03\x12=\n\x15timerNotificationType\x18\x07 \x01(\x0e\x32\x1e.Records.TimerNotificationType\"7\n\x17TimeLimitedAccessStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xe3\x01\n\x19TimeLimitedAccessResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12:\n\x10userAccessStatus\x18\x02 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus\x12:\n\x10teamAccessStatus\x18\x03 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus\x12<\n\x12recordAccessStatus\x18\x04 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus*h\n\x0fRecordTypeScope\x12\x0f\n\x0bRT_STANDARD\x10\x00\x12\x0b\n\x07RT_USER\x10\x01\x12\x11\n\rRT_ENTERPRISE\x10\x02\x12\n\n\x06RT_PAM\x10\x03\x12\x18\n\x14RT_PAM_CONFIGURATION\x10\x04*\xd1\x01\n\rRecordKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x19\n\x15\x45NCRYPTED_BY_DATA_KEY\x10\x01\x12\x1b\n\x17\x45NCRYPTED_BY_PUBLIC_KEY\x10\x02\x12\x1d\n\x19\x45NCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\x1f\n\x1b\x45NCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04\x12\x1d\n\x19\x45NCRYPTED_BY_ROOT_KEY_CBC\x10\x05\x12\x1d\n\x19\x45NCRYPTED_BY_ROOT_KEY_GCM\x10\x06*P\n\x10RecordFolderType\x12\x0f\n\x0buser_folder\x10\x00\x12\x11\n\rshared_folder\x10\x01\x12\x18\n\x14shared_folder_folder\x10\x02*\xec\x02\n\x12RecordModifyResult\x12\x0e\n\nRS_SUCCESS\x10\x00\x12\x12\n\x0eRS_OUT_OF_SYNC\x10\x01\x12\x14\n\x10RS_ACCESS_DENIED\x10\x02\x12\x13\n\x0fRS_SHARE_DENIED\x10\x03\x12\x14\n\x10RS_RECORD_EXISTS\x10\x04\x12\x1e\n\x1aRS_OLD_RECORD_VERSION_TYPE\x10\x05\x12\x1e\n\x1aRS_NEW_RECORD_VERSION_TYPE\x10\x06\x12\x16\n\x12RS_FILES_NOT_MATCH\x10\x07\x12\x1b\n\x17RS_RECORD_NOT_SHAREABLE\x10\x08\x12\x1f\n\x1bRS_ATTACHMENT_NOT_SHAREABLE\x10\t\x12\x19\n\x15RS_FILE_LIMIT_REACHED\x10\n\x12\x1a\n\x16RS_SIZE_EXCEEDED_LIMIT\x10\x0b\x12$\n RS_ONLY_OWNER_CAN_MODIFY_SCRIPTS\x10\x0c*-\n\rFileAddResult\x12\x0e\n\nFA_SUCCESS\x10\x00\x12\x0c\n\x08\x46\x41_ERROR\x10\x01*C\n\rFileGetResult\x12\x0e\n\nFG_SUCCESS\x10\x00\x12\x0c\n\x08\x46G_ERROR\x10\x01\x12\x14\n\x10\x46G_ACCESS_DENIED\x10\x02*J\n\x14RecordDetailsInclude\x12\x13\n\x0f\x44\x41TA_PLUS_SHARE\x10\x00\x12\r\n\tDATA_ONLY\x10\x01\x12\x0e\n\nSHARE_ONLY\x10\x02*b\n\x19\x43heckShareAdminObjectType\x12\x19\n\x15\x43HECK_SA_INVALID_TYPE\x10\x00\x12\x12\n\x0e\x43HECK_SA_ON_SF\x10\x01\x12\x16\n\x12\x43HECK_SA_ON_RECORD\x10\x02*1\n\x0bShareStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\t\n\x05\x42LOCK\x10\x01\x12\x0b\n\x07INVITED\x10\x02*:\n\x15RecordTransactionType\x12\x0f\n\x0bRTT_GENERAL\x10\x00\x12\x10\n\x0cRTT_ROTATION\x10\x01*\xdc\x02\n\x15TimeLimitedAccessType\x12$\n INVALID_TIME_LIMITED_ACCESS_TYPE\x10\x00\x12\x19\n\x15USER_ACCESS_TO_RECORD\x10\x01\x12\'\n#USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER\x10\x02\x12!\n\x1dRECORD_ACCESS_TO_SHAREDFOLDER\x10\x03\x12\x1f\n\x1bUSER_ACCESS_TO_SHAREDFOLDER\x10\x04\x12\x1f\n\x1bTEAM_ACCESS_TO_SHAREDFOLDER\x10\x05\x12\x1b\n\x17RECORD_ACCESS_TO_FOLDER\x10\x06\x12\x19\n\x15USER_ACCESS_TO_FOLDER\x10\x07\x12\x19\n\x15TEAM_ACCESS_TO_FOLDER\x10\x08\x12!\n\x1dUSER_OR_TEAM_ACCESS_TO_FOLDER\x10\t*\\\n\x15TimerNotificationType\x12\x14\n\x10NOTIFICATION_OFF\x10\x00\x12\x10\n\x0cNOTIFY_OWNER\x10\x01\x12\x1b\n\x17NOTIFY_PRIVILEGED_USERS\x10\x02\x42#\n\x18\x63om.keepersecurity.protoB\x07Recordsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0crecord.proto\x12\x07Records\"\\\n\nRecordType\x12\x14\n\x0crecordTypeId\x18\x01 \x01(\x05\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\'\n\x05scope\x18\x03 \x01(\x0e\x32\x18.Records.RecordTypeScope\"U\n\x12RecordTypesRequest\x12\x10\n\x08standard\x18\x01 \x01(\x08\x12\x0c\n\x04user\x18\x02 \x01(\x08\x12\x12\n\nenterprise\x18\x03 \x01(\x08\x12\x0b\n\x03pam\x18\x04 \x01(\x08\"\x9c\x01\n\x13RecordTypesResponse\x12(\n\x0brecordTypes\x18\x01 \x03(\x0b\x32\x13.Records.RecordType\x12\x17\n\x0fstandardCounter\x18\x02 \x01(\x05\x12\x13\n\x0buserCounter\x18\x03 \x01(\x05\x12\x19\n\x11\x65nterpriseCounter\x18\x04 \x01(\x05\x12\x12\n\npamCounter\x18\x05 \x01(\x05\"A\n\x18RecordTypeModifyResponse\x12\x14\n\x0crecordTypeId\x18\x01 \x01(\x05\x12\x0f\n\x07\x63ounter\x18\x02 \x01(\x05\"=\n\x11RecordsGetRequest\x12\x13\n\x0brecord_uids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\xd1\x01\n\x06Record\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12/\n\x0frecord_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\r\n\x05\x65xtra\x18\x05 \x01(\x0c\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x1c\n\x14\x63lient_modified_time\x18\x07 \x01(\x03\x12\x10\n\x08revision\x18\x08 \x01(\x03\x12\x10\n\x08\x66ile_ids\x18\t \x03(\x0c\"~\n\x0f\x46olderRecordKey\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12\x12\n\nrecord_key\x18\x03 \x01(\x0c\x12/\n\x0frecord_key_type\x18\x04 \x01(\x0e\x32\x16.Records.RecordKeyType\"a\n\x06\x46older\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nfolder_key\x18\x02 \x01(\x0c\x12/\n\x0f\x66older_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\x95\x01\n\x04Team\x12\x10\n\x08team_uid\x18\x01 \x01(\x0c\x12\x10\n\x08team_key\x18\x02 \x01(\x0c\x12\x18\n\x10team_private_key\x18\x03 \x01(\x0c\x12-\n\rteam_key_type\x18\x04 \x01(\x0e\x32\x16.Records.RecordKeyType\x12 \n\x07\x66olders\x18\x05 \x03(\x0b\x32\x0f.Records.Folder\"\xac\x01\n\x12RecordsGetResponse\x12 \n\x07records\x18\x01 \x03(\x0b\x32\x0f.Records.Record\x12\x34\n\x12\x66older_record_keys\x18\x02 \x03(\x0b\x32\x18.Records.FolderRecordKey\x12 \n\x07\x66olders\x18\x03 \x03(\x0b\x32\x0f.Records.Folder\x12\x1c\n\x05teams\x18\x04 \x03(\x0b\x32\r.Records.Team\"4\n\nRecordLink\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\",\n\x0bRecordAudit\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1c\n\x0cSecurityData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x11SecurityScoreData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x84\x03\n\tRecordAdd\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12.\n\x0b\x66older_type\x18\x06 \x01(\x0e\x32\x19.Records.RecordFolderType\x12\x12\n\nfolder_uid\x18\x07 \x01(\x0c\x12\x12\n\nfolder_key\x18\x08 \x01(\x0c\x12)\n\x0crecord_links\x18\t \x03(\x0b\x32\x13.Records.RecordLink\x12#\n\x05\x61udit\x18\n \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\x0b \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\x0c \x01(\x0b\x32\x1a.Records.SecurityScoreData\"\x85\x01\n\x11RecordsAddRequest\x12#\n\x07records\x18\x01 \x03(\x0b\x32\x12.Records.RecordAdd\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\x12\x36\n\x16security_data_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\xce\x02\n\x0cRecordUpdate\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x02 \x01(\x03\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12-\n\x10record_links_add\x18\x06 \x03(\x0b\x32\x13.Records.RecordLink\x12\x1b\n\x13record_links_remove\x18\x07 \x03(\x0c\x12#\n\x05\x61udit\x18\x08 \x01(\x0b\x32\x14.Records.RecordAudit\x12+\n\x0csecurityData\x18\t \x01(\x0b\x32\x15.Records.SecurityData\x12\x35\n\x11securityScoreData\x18\n \x01(\x0b\x32\x1a.Records.SecurityScoreData\"\x8b\x01\n\x14RecordsUpdateRequest\x12&\n\x07records\x18\x01 \x03(\x0b\x32\x15.Records.RecordUpdate\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\x12\x36\n\x16security_data_key_type\x18\x03 \x01(\x0e\x32\x16.Records.RecordKeyType\"\x8e\x01\n\x17RecordFileForConversion\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66ile_file_id\x18\x02 \x01(\t\x12\x15\n\rthumb_file_id\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x12\n\nrecord_key\x18\x05 \x01(\x0c\x12\x10\n\x08link_key\x18\x06 \x01(\x0c\"J\n\x19RecordFolderForConversion\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x19\n\x11record_folder_key\x18\x02 \x01(\x0c\"\x92\x02\n\x11RecordConvertToV3\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x02 \x01(\x03\x12\x10\n\x08revision\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x17\n\x0fnon_shared_data\x18\x05 \x01(\x0c\x12#\n\x05\x61udit\x18\x06 \x01(\x0b\x32\x14.Records.RecordAudit\x12\x35\n\x0brecord_file\x18\x07 \x03(\x0b\x32 .Records.RecordFileForConversion\x12\x36\n\nfolder_key\x18\x08 \x03(\x0b\x32\".Records.RecordFolderForConversion\"]\n\x19RecordsConvertToV3Request\x12+\n\x07records\x18\x01 \x03(\x0b\x32\x1a.Records.RecordConvertToV3\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\'\n\x14RecordsRemoveRequest\x12\x0f\n\x07records\x18\x01 \x03(\x0c\">\n\x0cRecordRevert\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1a\n\x12revert_to_revision\x18\x02 \x01(\x03\">\n\x14RecordsRevertRequest\x12&\n\x07records\x18\x01 \x03(\x0b\x32\x15.Records.RecordRevert\"c\n\x0fRecordLinkError\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12+\n\x06status\x18\x02 \x01(\x0e\x32\x1b.Records.RecordModifyResult\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x95\x01\n\x12RecordModifyStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12+\n\x06status\x18\x02 \x01(\x0e\x32\x1b.Records.RecordModifyResult\x12\x0f\n\x07message\x18\x03 \x01(\t\x12-\n\x0blink_errors\x18\x04 \x03(\x0b\x32\x18.Records.RecordLinkError\"W\n\x15RecordsModifyResponse\x12,\n\x07records\x18\x01 \x03(\x0b\x32\x1b.Records.RecordModifyStatus\x12\x10\n\x08revision\x18\x02 \x01(\x03\"Y\n\x12RecordAddAuditData\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\"C\n\x13\x41\x64\x64\x41uditDataRequest\x12,\n\x07records\x18\x01 \x03(\x0b\x32\x1b.Records.RecordAddAuditData\"t\n\x04\x46ile\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x10\n\x08\x66ileSize\x18\x04 \x01(\x03\x12\x11\n\tthumbSize\x18\x05 \x01(\x05\x12\x11\n\tis_script\x18\x06 \x01(\x08\"D\n\x0f\x46ilesAddRequest\x12\x1c\n\x05\x66iles\x18\x01 \x03(\x0b\x32\r.Records.File\x12\x13\n\x0b\x63lient_time\x18\x02 \x01(\x03\"\xa7\x01\n\rFileAddStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12&\n\x06status\x18\x02 \x01(\x0e\x32\x16.Records.FileAddResult\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nparameters\x18\x04 \x01(\t\x12\x1c\n\x14thumbnail_parameters\x18\x05 \x01(\t\x12\x1b\n\x13success_status_code\x18\x06 \x01(\x05\"K\n\x10\x46ilesAddResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Records.FileAddStatus\x12\x10\n\x08revision\x18\x02 \x01(\x03\"f\n\x0f\x46ilesGetRequest\x12\x13\n\x0brecord_uids\x18\x01 \x03(\x0c\x12\x16\n\x0e\x66or_thumbnails\x18\x02 \x01(\x08\x12&\n\x1e\x65mergency_access_account_owner\x18\x03 \x01(\t\"\xa2\x01\n\rFileGetStatus\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12&\n\x06status\x18\x02 \x01(\x0e\x32\x16.Records.FileGetResult\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x1b\n\x13success_status_code\x18\x04 \x01(\x05\x12+\n\x0b\x66ileKeyType\x18\x05 \x01(\x0e\x32\x16.Records.RecordKeyType\"9\n\x10\x46ilesGetResponse\x12%\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x16.Records.FileGetStatus\"\x8d\x01\n\x15\x41pplicationAddRequest\x12\x0f\n\x07\x61pp_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_key\x18\x02 \x01(\x0c\x12\x1c\n\x14\x63lient_modified_time\x18\x03 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12#\n\x05\x61udit\x18\x05 \x01(\x0b\x32\x14.Records.RecordAudit\"\x88\x01\n\"GetRecordDataWithAccessInfoRequest\x12\x12\n\nclientTime\x18\x01 \x01(\x03\x12\x11\n\trecordUid\x18\x02 \x03(\x0c\x12;\n\x14recordDetailsInclude\x18\x03 \x01(\x0e\x32\x1d.Records.RecordDetailsInclude\"\x86\x02\n\x0eUserPermission\x12\x10\n\x08username\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\x08\x12\x12\n\nshareAdmin\x18\x03 \x01(\x08\x12\x10\n\x08sharable\x18\x04 \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x05 \x01(\x08\x12\x18\n\x10\x61waitingApproval\x18\x06 \x01(\x08\x12\x12\n\nexpiration\x18\x07 \x01(\x03\x12\x12\n\naccountUid\x18\x08 \x01(\x0c\x12=\n\x15timerNotificationType\x18\t \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\n \x01(\x08\"\xd8\x01\n\x16SharedFolderPermission\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12\x12\n\nresharable\x18\x02 \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x03 \x01(\x08\x12\x10\n\x08revision\x18\x04 \x01(\x03\x12\x12\n\nexpiration\x18\x05 \x01(\x03\x12=\n\x15timerNotificationType\x18\x06 \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\x07 \x01(\x08\"\xe8\x02\n\nRecordData\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x0e\n\x06shared\x18\x03 \x01(\x08\x12\x1b\n\x13\x65ncryptedRecordData\x18\x04 \x01(\t\x12\x1a\n\x12\x65ncryptedExtraData\x18\x05 \x01(\t\x12\x1a\n\x12\x63lientModifiedTime\x18\x06 \x01(\x03\x12\x15\n\rnonSharedData\x18\x07 \x01(\t\x12-\n\x10linkedRecordData\x18\x08 \x03(\x0b\x32\x13.Records.RecordData\x12\x0e\n\x06\x66ileId\x18\t \x03(\x0c\x12\x10\n\x08\x66ileSize\x18\n \x01(\x03\x12\x15\n\rthumbnailSize\x18\x0b \x01(\x03\x12-\n\rrecordKeyType\x18\x0c \x01(\x0e\x32\x16.Records.RecordKeyType\x12\x11\n\trecordKey\x18\r \x01(\x0c\x12\x11\n\trecordUid\x18\x0e \x01(\x0c\"\xc8\x01\n\x18RecordDataWithAccessInfo\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\'\n\nrecordData\x18\x02 \x01(\x0b\x32\x13.Records.RecordData\x12/\n\x0euserPermission\x18\x03 \x03(\x0b\x32\x17.Records.UserPermission\x12?\n\x16sharedFolderPermission\x18\x04 \x03(\x0b\x32\x1f.Records.SharedFolderPermission\"\x89\x01\n#GetRecordDataWithAccessInfoResponse\x12\x43\n\x18recordDataWithAccessInfo\x18\x01 \x03(\x0b\x32!.Records.RecordDataWithAccessInfo\x12\x1d\n\x15noPermissionRecordUid\x18\x02 \x03(\x0c\"j\n\x12IsObjectShareAdmin\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07isAdmin\x18\x02 \x01(\x08\x12\x36\n\nobjectType\x18\x03 \x01(\x0e\x32\".Records.CheckShareAdminObjectType\"H\n\rAmIShareAdmin\x12\x37\n\x12isObjectShareAdmin\x18\x01 \x03(\x0b\x32\x1b.Records.IsObjectShareAdmin\"\xbc\x01\n\x18RecordShareUpdateRequest\x12.\n\x0f\x61\x64\x64SharedRecord\x18\x01 \x03(\x0b\x32\x15.Records.SharedRecord\x12\x31\n\x12updateSharedRecord\x18\x02 \x03(\x0b\x32\x15.Records.SharedRecord\x12\x31\n\x12removeSharedRecord\x18\x03 \x03(\x0b\x32\x15.Records.SharedRecord\x12\n\n\x02pt\x18\x04 \x01(\t\"\xc4\x02\n\x0cSharedRecord\x12\x12\n\ntoUsername\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x11\n\trecordKey\x18\x03 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x04 \x01(\x0c\x12\x0f\n\x07teamUid\x18\x05 \x01(\x0c\x12\x10\n\x08\x65\x64itable\x18\x06 \x01(\x08\x12\x11\n\tshareable\x18\x07 \x01(\x08\x12\x10\n\x08transfer\x18\x08 \x01(\x08\x12\x11\n\tuseEccKey\x18\t \x01(\x08\x12\x17\n\x0fremoveVaultData\x18\n \x01(\x08\x12\x12\n\nexpiration\x18\x0b \x01(\x03\x12=\n\x15timerNotificationType\x18\x0c \x01(\x0e\x32\x1e.Records.TimerNotificationType\x12\x1a\n\x12rotateOnExpiration\x18\r \x01(\x08\"\xd5\x01\n\x19RecordShareUpdateResponse\x12:\n\x15\x61\x64\x64SharedRecordStatus\x18\x01 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\x12=\n\x18updateSharedRecordStatus\x18\x02 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\x12=\n\x18removeSharedRecordStatus\x18\x03 \x03(\x0b\x32\x1b.Records.SharedRecordStatus\"Z\n\x12SharedRecordStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\"G\n\x1bGetRecordPermissionsRequest\x12\x12\n\nrecordUids\x18\x01 \x03(\x0c\x12\x14\n\x0cisShareAdmin\x18\x02 \x01(\x08\"T\n\x1cGetRecordPermissionsResponse\x12\x34\n\x11recordPermissions\x18\x01 \x03(\x0b\x32\x19.Records.RecordPermission\"l\n\x10RecordPermission\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\r\n\x05owner\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61nEdit\x18\x03 \x01(\x08\x12\x10\n\x08\x63\x61nShare\x18\x04 \x01(\x08\x12\x13\n\x0b\x63\x61nTransfer\x18\x05 \x01(\x08\"h\n\x16GetShareObjectsRequest\x12\x11\n\tstartWith\x18\x01 \x01(\t\x12\x10\n\x08\x63ontains\x18\x02 \x01(\t\x12\x10\n\x08\x66iltered\x18\x03 \x01(\x08\x12\x17\n\x0fsharedFolderUid\x18\x04 \x01(\x0c\"\xe7\x02\n\x17GetShareObjectsResponse\x12.\n\x12shareRelationships\x18\x01 \x03(\x0b\x32\x12.Records.ShareUser\x12,\n\x10shareFamilyUsers\x18\x02 \x03(\x0b\x32\x12.Records.ShareUser\x12\x30\n\x14shareEnterpriseUsers\x18\x03 \x03(\x0b\x32\x12.Records.ShareUser\x12&\n\nshareTeams\x18\x04 \x03(\x0b\x32\x12.Records.ShareTeam\x12(\n\x0cshareMCTeams\x18\x05 \x03(\x0b\x32\x12.Records.ShareTeam\x12\x32\n\x16shareMCEnterpriseUsers\x18\x06 \x03(\x0b\x32\x12.Records.ShareUser\x12\x36\n\x14shareEnterpriseNames\x18\x07 \x03(\x0b\x32\x18.Records.ShareEnterprise\"\xbd\x01\n\tShareUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08\x66ullname\x18\x02 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x03 \x01(\x05\x12$\n\x06status\x18\x04 \x01(\x0e\x32\x14.Records.ShareStatus\x12\x14\n\x0cisShareAdmin\x18\x05 \x01(\x08\x12\"\n\x1aisAdminOfSharedFolderOwner\x18\x06 \x01(\x08\x12\x16\n\x0euserAccountUid\x18\x07 \x01(\x0c\"D\n\tShareTeam\x12\x10\n\x08teamname\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0f\n\x07teamUid\x18\x03 \x01(\x0c\"?\n\x0fShareEnterprise\x12\x16\n\x0e\x65nterprisename\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\"S\n\x1fRecordsOnwershipTransferRequest\x12\x30\n\x0ftransferRecords\x18\x01 \x03(\x0b\x32\x17.Records.TransferRecord\"[\n\x0eTransferRecord\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x11\n\trecordKey\x18\x03 \x01(\x0c\x12\x11\n\tuseEccKey\x18\x04 \x01(\x08\"_\n RecordsOnwershipTransferResponse\x12;\n\x14transferRecordStatus\x18\x01 \x03(\x0b\x32\x1d.Records.TransferRecordStatus\"\\\n\x14TransferRecordStatus\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\"y\n\x15RecordsUnshareRequest\x12\x34\n\rsharedFolders\x18\x01 \x03(\x0b\x32\x1d.Records.RecordsUnshareFolder\x12*\n\x05users\x18\x02 \x03(\x0b\x32\x1b.Records.RecordsUnshareUser\"\x86\x01\n\x16RecordsUnshareResponse\x12:\n\rsharedFolders\x18\x01 \x03(\x0b\x32#.Records.RecordsUnshareFolderStatus\x12\x30\n\x05users\x18\x02 \x03(\x0b\x32!.Records.RecordsUnshareUserStatus\"B\n\x14RecordsUnshareFolder\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\";\n\x12RecordsUnshareUser\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\"H\n\x1aRecordsUnshareFolderStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x17\n\x0fsharedFolderUid\x18\x02 \x01(\x0c\"A\n\x18RecordsUnshareUserStatus\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x12\n\naccountUid\x18\x02 \x01(\x0c\"[\n\x1aTimedAccessCallbackPayload\x12=\n\x15timeLimitedAccessType\x18\x01 \x01(\x0e\x32\x1e.Records.TimeLimitedAccessType\"\xfd\x01\n\x18TimeLimitedAccessRequest\x12\x12\n\naccountUid\x18\x01 \x03(\x0c\x12\x0f\n\x07teamUid\x18\x02 \x03(\x0c\x12\x11\n\trecordUid\x18\x03 \x03(\x0c\x12\x17\n\x0fsharedObjectUid\x18\x04 \x01(\x0c\x12=\n\x15timeLimitedAccessType\x18\x05 \x01(\x0e\x32\x1e.Records.TimeLimitedAccessType\x12\x12\n\nexpiration\x18\x06 \x01(\x03\x12=\n\x15timerNotificationType\x18\x07 \x01(\x0e\x32\x1e.Records.TimerNotificationType\"7\n\x17TimeLimitedAccessStatus\x12\x0b\n\x03uid\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xe3\x01\n\x19TimeLimitedAccessResponse\x12\x10\n\x08revision\x18\x01 \x01(\x03\x12:\n\x10userAccessStatus\x18\x02 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus\x12:\n\x10teamAccessStatus\x18\x03 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus\x12<\n\x12recordAccessStatus\x18\x04 \x03(\x0b\x32 .Records.TimeLimitedAccessStatus*h\n\x0fRecordTypeScope\x12\x0f\n\x0bRT_STANDARD\x10\x00\x12\x0b\n\x07RT_USER\x10\x01\x12\x11\n\rRT_ENTERPRISE\x10\x02\x12\n\n\x06RT_PAM\x10\x03\x12\x18\n\x14RT_PAM_CONFIGURATION\x10\x04*\xd1\x01\n\rRecordKeyType\x12\n\n\x06NO_KEY\x10\x00\x12\x19\n\x15\x45NCRYPTED_BY_DATA_KEY\x10\x01\x12\x1b\n\x17\x45NCRYPTED_BY_PUBLIC_KEY\x10\x02\x12\x1d\n\x19\x45NCRYPTED_BY_DATA_KEY_GCM\x10\x03\x12\x1f\n\x1b\x45NCRYPTED_BY_PUBLIC_KEY_ECC\x10\x04\x12\x1d\n\x19\x45NCRYPTED_BY_ROOT_KEY_CBC\x10\x05\x12\x1d\n\x19\x45NCRYPTED_BY_ROOT_KEY_GCM\x10\x06*P\n\x10RecordFolderType\x12\x0f\n\x0buser_folder\x10\x00\x12\x11\n\rshared_folder\x10\x01\x12\x18\n\x14shared_folder_folder\x10\x02*\xec\x02\n\x12RecordModifyResult\x12\x0e\n\nRS_SUCCESS\x10\x00\x12\x12\n\x0eRS_OUT_OF_SYNC\x10\x01\x12\x14\n\x10RS_ACCESS_DENIED\x10\x02\x12\x13\n\x0fRS_SHARE_DENIED\x10\x03\x12\x14\n\x10RS_RECORD_EXISTS\x10\x04\x12\x1e\n\x1aRS_OLD_RECORD_VERSION_TYPE\x10\x05\x12\x1e\n\x1aRS_NEW_RECORD_VERSION_TYPE\x10\x06\x12\x16\n\x12RS_FILES_NOT_MATCH\x10\x07\x12\x1b\n\x17RS_RECORD_NOT_SHAREABLE\x10\x08\x12\x1f\n\x1bRS_ATTACHMENT_NOT_SHAREABLE\x10\t\x12\x19\n\x15RS_FILE_LIMIT_REACHED\x10\n\x12\x1a\n\x16RS_SIZE_EXCEEDED_LIMIT\x10\x0b\x12$\n RS_ONLY_OWNER_CAN_MODIFY_SCRIPTS\x10\x0c*-\n\rFileAddResult\x12\x0e\n\nFA_SUCCESS\x10\x00\x12\x0c\n\x08\x46\x41_ERROR\x10\x01*C\n\rFileGetResult\x12\x0e\n\nFG_SUCCESS\x10\x00\x12\x0c\n\x08\x46G_ERROR\x10\x01\x12\x14\n\x10\x46G_ACCESS_DENIED\x10\x02*J\n\x14RecordDetailsInclude\x12\x13\n\x0f\x44\x41TA_PLUS_SHARE\x10\x00\x12\r\n\tDATA_ONLY\x10\x01\x12\x0e\n\nSHARE_ONLY\x10\x02*b\n\x19\x43heckShareAdminObjectType\x12\x19\n\x15\x43HECK_SA_INVALID_TYPE\x10\x00\x12\x12\n\x0e\x43HECK_SA_ON_SF\x10\x01\x12\x16\n\x12\x43HECK_SA_ON_RECORD\x10\x02*1\n\x0bShareStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\t\n\x05\x42LOCK\x10\x01\x12\x0b\n\x07INVITED\x10\x02*:\n\x15RecordTransactionType\x12\x0f\n\x0bRTT_GENERAL\x10\x00\x12\x10\n\x0cRTT_ROTATION\x10\x01*\xdc\x02\n\x15TimeLimitedAccessType\x12$\n INVALID_TIME_LIMITED_ACCESS_TYPE\x10\x00\x12\x19\n\x15USER_ACCESS_TO_RECORD\x10\x01\x12\'\n#USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER\x10\x02\x12!\n\x1dRECORD_ACCESS_TO_SHAREDFOLDER\x10\x03\x12\x1f\n\x1bUSER_ACCESS_TO_SHAREDFOLDER\x10\x04\x12\x1f\n\x1bTEAM_ACCESS_TO_SHAREDFOLDER\x10\x05\x12\x1b\n\x17RECORD_ACCESS_TO_FOLDER\x10\x06\x12\x19\n\x15USER_ACCESS_TO_FOLDER\x10\x07\x12\x19\n\x15TEAM_ACCESS_TO_FOLDER\x10\x08\x12!\n\x1dUSER_OR_TEAM_ACCESS_TO_FOLDER\x10\t*\\\n\x15TimerNotificationType\x12\x14\n\x10NOTIFICATION_OFF\x10\x00\x12\x10\n\x0cNOTIFY_OWNER\x10\x01\x12\x1b\n\x17NOTIFY_PRIVILEGED_USERS\x10\x02\x42#\n\x18\x63om.keepersecurity.protoB\x07Recordsb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,30 +32,30 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\007Records' - _globals['_RECORDTYPESCOPE']._serialized_start=9490 - _globals['_RECORDTYPESCOPE']._serialized_end=9594 - _globals['_RECORDKEYTYPE']._serialized_start=9597 - _globals['_RECORDKEYTYPE']._serialized_end=9806 - _globals['_RECORDFOLDERTYPE']._serialized_start=9808 - _globals['_RECORDFOLDERTYPE']._serialized_end=9888 - _globals['_RECORDMODIFYRESULT']._serialized_start=9891 - _globals['_RECORDMODIFYRESULT']._serialized_end=10255 - _globals['_FILEADDRESULT']._serialized_start=10257 - _globals['_FILEADDRESULT']._serialized_end=10302 - _globals['_FILEGETRESULT']._serialized_start=10304 - _globals['_FILEGETRESULT']._serialized_end=10371 - _globals['_RECORDDETAILSINCLUDE']._serialized_start=10373 - _globals['_RECORDDETAILSINCLUDE']._serialized_end=10447 - _globals['_CHECKSHAREADMINOBJECTTYPE']._serialized_start=10449 - _globals['_CHECKSHAREADMINOBJECTTYPE']._serialized_end=10547 - _globals['_SHARESTATUS']._serialized_start=10549 - _globals['_SHARESTATUS']._serialized_end=10598 - _globals['_RECORDTRANSACTIONTYPE']._serialized_start=10600 - _globals['_RECORDTRANSACTIONTYPE']._serialized_end=10658 - _globals['_TIMELIMITEDACCESSTYPE']._serialized_start=10661 - _globals['_TIMELIMITEDACCESSTYPE']._serialized_end=11009 - _globals['_TIMERNOTIFICATIONTYPE']._serialized_start=11011 - _globals['_TIMERNOTIFICATIONTYPE']._serialized_end=11103 + _globals['_RECORDTYPESCOPE']._serialized_start=9539 + _globals['_RECORDTYPESCOPE']._serialized_end=9643 + _globals['_RECORDKEYTYPE']._serialized_start=9646 + _globals['_RECORDKEYTYPE']._serialized_end=9855 + _globals['_RECORDFOLDERTYPE']._serialized_start=9857 + _globals['_RECORDFOLDERTYPE']._serialized_end=9937 + _globals['_RECORDMODIFYRESULT']._serialized_start=9940 + _globals['_RECORDMODIFYRESULT']._serialized_end=10304 + _globals['_FILEADDRESULT']._serialized_start=10306 + _globals['_FILEADDRESULT']._serialized_end=10351 + _globals['_FILEGETRESULT']._serialized_start=10353 + _globals['_FILEGETRESULT']._serialized_end=10420 + _globals['_RECORDDETAILSINCLUDE']._serialized_start=10422 + _globals['_RECORDDETAILSINCLUDE']._serialized_end=10496 + _globals['_CHECKSHAREADMINOBJECTTYPE']._serialized_start=10498 + _globals['_CHECKSHAREADMINOBJECTTYPE']._serialized_end=10596 + _globals['_SHARESTATUS']._serialized_start=10598 + _globals['_SHARESTATUS']._serialized_end=10647 + _globals['_RECORDTRANSACTIONTYPE']._serialized_start=10649 + _globals['_RECORDTRANSACTIONTYPE']._serialized_end=10707 + _globals['_TIMELIMITEDACCESSTYPE']._serialized_start=10710 + _globals['_TIMELIMITEDACCESSTYPE']._serialized_end=11058 + _globals['_TIMERNOTIFICATIONTYPE']._serialized_start=11060 + _globals['_TIMERNOTIFICATIONTYPE']._serialized_end=11152 _globals['_RECORDTYPE']._serialized_start=25 _globals['_RECORDTYPE']._serialized_end=117 _globals['_RECORDTYPESREQUEST']._serialized_start=119 @@ -69,135 +69,135 @@ _globals['_RECORD']._serialized_start=496 _globals['_RECORD']._serialized_end=705 _globals['_FOLDERRECORDKEY']._serialized_start=707 - _globals['_FOLDERRECORDKEY']._serialized_end=784 - _globals['_FOLDER']._serialized_start=786 - _globals['_FOLDER']._serialized_end=883 - _globals['_TEAM']._serialized_start=886 - _globals['_TEAM']._serialized_end=1035 - _globals['_RECORDSGETRESPONSE']._serialized_start=1038 - _globals['_RECORDSGETRESPONSE']._serialized_end=1210 - _globals['_RECORDLINK']._serialized_start=1212 - _globals['_RECORDLINK']._serialized_end=1264 - _globals['_RECORDAUDIT']._serialized_start=1266 - _globals['_RECORDAUDIT']._serialized_end=1310 - _globals['_SECURITYDATA']._serialized_start=1312 - _globals['_SECURITYDATA']._serialized_end=1340 - _globals['_SECURITYSCOREDATA']._serialized_start=1342 - _globals['_SECURITYSCOREDATA']._serialized_end=1375 - _globals['_RECORDADD']._serialized_start=1378 - _globals['_RECORDADD']._serialized_end=1766 - _globals['_RECORDSADDREQUEST']._serialized_start=1769 - _globals['_RECORDSADDREQUEST']._serialized_end=1902 - _globals['_RECORDUPDATE']._serialized_start=1905 - _globals['_RECORDUPDATE']._serialized_end=2239 - _globals['_RECORDSUPDATEREQUEST']._serialized_start=2242 - _globals['_RECORDSUPDATEREQUEST']._serialized_end=2381 - _globals['_RECORDFILEFORCONVERSION']._serialized_start=2384 - _globals['_RECORDFILEFORCONVERSION']._serialized_end=2526 - _globals['_RECORDFOLDERFORCONVERSION']._serialized_start=2528 - _globals['_RECORDFOLDERFORCONVERSION']._serialized_end=2602 - _globals['_RECORDCONVERTTOV3']._serialized_start=2605 - _globals['_RECORDCONVERTTOV3']._serialized_end=2879 - _globals['_RECORDSCONVERTTOV3REQUEST']._serialized_start=2881 - _globals['_RECORDSCONVERTTOV3REQUEST']._serialized_end=2974 - _globals['_RECORDSREMOVEREQUEST']._serialized_start=2976 - _globals['_RECORDSREMOVEREQUEST']._serialized_end=3015 - _globals['_RECORDREVERT']._serialized_start=3017 - _globals['_RECORDREVERT']._serialized_end=3079 - _globals['_RECORDSREVERTREQUEST']._serialized_start=3081 - _globals['_RECORDSREVERTREQUEST']._serialized_end=3143 - _globals['_RECORDLINKERROR']._serialized_start=3145 - _globals['_RECORDLINKERROR']._serialized_end=3244 - _globals['_RECORDMODIFYSTATUS']._serialized_start=3247 - _globals['_RECORDMODIFYSTATUS']._serialized_end=3396 - _globals['_RECORDSMODIFYRESPONSE']._serialized_start=3398 - _globals['_RECORDSMODIFYRESPONSE']._serialized_end=3485 - _globals['_RECORDADDAUDITDATA']._serialized_start=3487 - _globals['_RECORDADDAUDITDATA']._serialized_end=3576 - _globals['_ADDAUDITDATAREQUEST']._serialized_start=3578 - _globals['_ADDAUDITDATAREQUEST']._serialized_end=3645 - _globals['_FILE']._serialized_start=3647 - _globals['_FILE']._serialized_end=3763 - _globals['_FILESADDREQUEST']._serialized_start=3765 - _globals['_FILESADDREQUEST']._serialized_end=3833 - _globals['_FILEADDSTATUS']._serialized_start=3836 - _globals['_FILEADDSTATUS']._serialized_end=4003 - _globals['_FILESADDRESPONSE']._serialized_start=4005 - _globals['_FILESADDRESPONSE']._serialized_end=4080 - _globals['_FILESGETREQUEST']._serialized_start=4082 - _globals['_FILESGETREQUEST']._serialized_end=4184 - _globals['_FILEGETSTATUS']._serialized_start=4187 - _globals['_FILEGETSTATUS']._serialized_end=4349 - _globals['_FILESGETRESPONSE']._serialized_start=4351 - _globals['_FILESGETRESPONSE']._serialized_end=4408 - _globals['_APPLICATIONADDREQUEST']._serialized_start=4411 - _globals['_APPLICATIONADDREQUEST']._serialized_end=4552 - _globals['_GETRECORDDATAWITHACCESSINFOREQUEST']._serialized_start=4555 - _globals['_GETRECORDDATAWITHACCESSINFOREQUEST']._serialized_end=4691 - _globals['_USERPERMISSION']._serialized_start=4694 - _globals['_USERPERMISSION']._serialized_end=4956 - _globals['_SHAREDFOLDERPERMISSION']._serialized_start=4959 - _globals['_SHAREDFOLDERPERMISSION']._serialized_end=5175 - _globals['_RECORDDATA']._serialized_start=5178 - _globals['_RECORDDATA']._serialized_end=5538 - _globals['_RECORDDATAWITHACCESSINFO']._serialized_start=5541 - _globals['_RECORDDATAWITHACCESSINFO']._serialized_end=5741 - _globals['_GETRECORDDATAWITHACCESSINFORESPONSE']._serialized_start=5744 - _globals['_GETRECORDDATAWITHACCESSINFORESPONSE']._serialized_end=5881 - _globals['_ISOBJECTSHAREADMIN']._serialized_start=5883 - _globals['_ISOBJECTSHAREADMIN']._serialized_end=5989 - _globals['_AMISHAREADMIN']._serialized_start=5991 - _globals['_AMISHAREADMIN']._serialized_end=6063 - _globals['_RECORDSHAREUPDATEREQUEST']._serialized_start=6066 - _globals['_RECORDSHAREUPDATEREQUEST']._serialized_end=6254 - _globals['_SHAREDRECORD']._serialized_start=6257 - _globals['_SHAREDRECORD']._serialized_end=6581 - _globals['_RECORDSHAREUPDATERESPONSE']._serialized_start=6584 - _globals['_RECORDSHAREUPDATERESPONSE']._serialized_end=6797 - _globals['_SHAREDRECORDSTATUS']._serialized_start=6799 - _globals['_SHAREDRECORDSTATUS']._serialized_end=6889 - _globals['_GETRECORDPERMISSIONSREQUEST']._serialized_start=6891 - _globals['_GETRECORDPERMISSIONSREQUEST']._serialized_end=6962 - _globals['_GETRECORDPERMISSIONSRESPONSE']._serialized_start=6964 - _globals['_GETRECORDPERMISSIONSRESPONSE']._serialized_end=7048 - _globals['_RECORDPERMISSION']._serialized_start=7050 - _globals['_RECORDPERMISSION']._serialized_end=7158 - _globals['_GETSHAREOBJECTSREQUEST']._serialized_start=7160 - _globals['_GETSHAREOBJECTSREQUEST']._serialized_end=7264 - _globals['_GETSHAREOBJECTSRESPONSE']._serialized_start=7267 - _globals['_GETSHAREOBJECTSRESPONSE']._serialized_end=7626 - _globals['_SHAREUSER']._serialized_start=7629 - _globals['_SHAREUSER']._serialized_end=7818 - _globals['_SHARETEAM']._serialized_start=7820 - _globals['_SHARETEAM']._serialized_end=7888 - _globals['_SHAREENTERPRISE']._serialized_start=7890 - _globals['_SHAREENTERPRISE']._serialized_end=7953 - _globals['_RECORDSONWERSHIPTRANSFERREQUEST']._serialized_start=7955 - _globals['_RECORDSONWERSHIPTRANSFERREQUEST']._serialized_end=8038 - _globals['_TRANSFERRECORD']._serialized_start=8040 - _globals['_TRANSFERRECORD']._serialized_end=8131 - _globals['_RECORDSONWERSHIPTRANSFERRESPONSE']._serialized_start=8133 - _globals['_RECORDSONWERSHIPTRANSFERRESPONSE']._serialized_end=8228 - _globals['_TRANSFERRECORDSTATUS']._serialized_start=8230 - _globals['_TRANSFERRECORDSTATUS']._serialized_end=8322 - _globals['_RECORDSUNSHAREREQUEST']._serialized_start=8324 - _globals['_RECORDSUNSHAREREQUEST']._serialized_end=8445 - _globals['_RECORDSUNSHARERESPONSE']._serialized_start=8448 - _globals['_RECORDSUNSHARERESPONSE']._serialized_end=8582 - _globals['_RECORDSUNSHAREFOLDER']._serialized_start=8584 - _globals['_RECORDSUNSHAREFOLDER']._serialized_end=8650 - _globals['_RECORDSUNSHAREUSER']._serialized_start=8652 - _globals['_RECORDSUNSHAREUSER']._serialized_end=8711 - _globals['_RECORDSUNSHAREFOLDERSTATUS']._serialized_start=8713 - _globals['_RECORDSUNSHAREFOLDERSTATUS']._serialized_end=8785 - _globals['_RECORDSUNSHAREUSERSTATUS']._serialized_start=8787 - _globals['_RECORDSUNSHAREUSERSTATUS']._serialized_end=8852 - _globals['_TIMEDACCESSCALLBACKPAYLOAD']._serialized_start=8854 - _globals['_TIMEDACCESSCALLBACKPAYLOAD']._serialized_end=8945 - _globals['_TIMELIMITEDACCESSREQUEST']._serialized_start=8948 - _globals['_TIMELIMITEDACCESSREQUEST']._serialized_end=9201 - _globals['_TIMELIMITEDACCESSSTATUS']._serialized_start=9203 - _globals['_TIMELIMITEDACCESSSTATUS']._serialized_end=9258 - _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_start=9261 - _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_end=9488 + _globals['_FOLDERRECORDKEY']._serialized_end=833 + _globals['_FOLDER']._serialized_start=835 + _globals['_FOLDER']._serialized_end=932 + _globals['_TEAM']._serialized_start=935 + _globals['_TEAM']._serialized_end=1084 + _globals['_RECORDSGETRESPONSE']._serialized_start=1087 + _globals['_RECORDSGETRESPONSE']._serialized_end=1259 + _globals['_RECORDLINK']._serialized_start=1261 + _globals['_RECORDLINK']._serialized_end=1313 + _globals['_RECORDAUDIT']._serialized_start=1315 + _globals['_RECORDAUDIT']._serialized_end=1359 + _globals['_SECURITYDATA']._serialized_start=1361 + _globals['_SECURITYDATA']._serialized_end=1389 + _globals['_SECURITYSCOREDATA']._serialized_start=1391 + _globals['_SECURITYSCOREDATA']._serialized_end=1424 + _globals['_RECORDADD']._serialized_start=1427 + _globals['_RECORDADD']._serialized_end=1815 + _globals['_RECORDSADDREQUEST']._serialized_start=1818 + _globals['_RECORDSADDREQUEST']._serialized_end=1951 + _globals['_RECORDUPDATE']._serialized_start=1954 + _globals['_RECORDUPDATE']._serialized_end=2288 + _globals['_RECORDSUPDATEREQUEST']._serialized_start=2291 + _globals['_RECORDSUPDATEREQUEST']._serialized_end=2430 + _globals['_RECORDFILEFORCONVERSION']._serialized_start=2433 + _globals['_RECORDFILEFORCONVERSION']._serialized_end=2575 + _globals['_RECORDFOLDERFORCONVERSION']._serialized_start=2577 + _globals['_RECORDFOLDERFORCONVERSION']._serialized_end=2651 + _globals['_RECORDCONVERTTOV3']._serialized_start=2654 + _globals['_RECORDCONVERTTOV3']._serialized_end=2928 + _globals['_RECORDSCONVERTTOV3REQUEST']._serialized_start=2930 + _globals['_RECORDSCONVERTTOV3REQUEST']._serialized_end=3023 + _globals['_RECORDSREMOVEREQUEST']._serialized_start=3025 + _globals['_RECORDSREMOVEREQUEST']._serialized_end=3064 + _globals['_RECORDREVERT']._serialized_start=3066 + _globals['_RECORDREVERT']._serialized_end=3128 + _globals['_RECORDSREVERTREQUEST']._serialized_start=3130 + _globals['_RECORDSREVERTREQUEST']._serialized_end=3192 + _globals['_RECORDLINKERROR']._serialized_start=3194 + _globals['_RECORDLINKERROR']._serialized_end=3293 + _globals['_RECORDMODIFYSTATUS']._serialized_start=3296 + _globals['_RECORDMODIFYSTATUS']._serialized_end=3445 + _globals['_RECORDSMODIFYRESPONSE']._serialized_start=3447 + _globals['_RECORDSMODIFYRESPONSE']._serialized_end=3534 + _globals['_RECORDADDAUDITDATA']._serialized_start=3536 + _globals['_RECORDADDAUDITDATA']._serialized_end=3625 + _globals['_ADDAUDITDATAREQUEST']._serialized_start=3627 + _globals['_ADDAUDITDATAREQUEST']._serialized_end=3694 + _globals['_FILE']._serialized_start=3696 + _globals['_FILE']._serialized_end=3812 + _globals['_FILESADDREQUEST']._serialized_start=3814 + _globals['_FILESADDREQUEST']._serialized_end=3882 + _globals['_FILEADDSTATUS']._serialized_start=3885 + _globals['_FILEADDSTATUS']._serialized_end=4052 + _globals['_FILESADDRESPONSE']._serialized_start=4054 + _globals['_FILESADDRESPONSE']._serialized_end=4129 + _globals['_FILESGETREQUEST']._serialized_start=4131 + _globals['_FILESGETREQUEST']._serialized_end=4233 + _globals['_FILEGETSTATUS']._serialized_start=4236 + _globals['_FILEGETSTATUS']._serialized_end=4398 + _globals['_FILESGETRESPONSE']._serialized_start=4400 + _globals['_FILESGETRESPONSE']._serialized_end=4457 + _globals['_APPLICATIONADDREQUEST']._serialized_start=4460 + _globals['_APPLICATIONADDREQUEST']._serialized_end=4601 + _globals['_GETRECORDDATAWITHACCESSINFOREQUEST']._serialized_start=4604 + _globals['_GETRECORDDATAWITHACCESSINFOREQUEST']._serialized_end=4740 + _globals['_USERPERMISSION']._serialized_start=4743 + _globals['_USERPERMISSION']._serialized_end=5005 + _globals['_SHAREDFOLDERPERMISSION']._serialized_start=5008 + _globals['_SHAREDFOLDERPERMISSION']._serialized_end=5224 + _globals['_RECORDDATA']._serialized_start=5227 + _globals['_RECORDDATA']._serialized_end=5587 + _globals['_RECORDDATAWITHACCESSINFO']._serialized_start=5590 + _globals['_RECORDDATAWITHACCESSINFO']._serialized_end=5790 + _globals['_GETRECORDDATAWITHACCESSINFORESPONSE']._serialized_start=5793 + _globals['_GETRECORDDATAWITHACCESSINFORESPONSE']._serialized_end=5930 + _globals['_ISOBJECTSHAREADMIN']._serialized_start=5932 + _globals['_ISOBJECTSHAREADMIN']._serialized_end=6038 + _globals['_AMISHAREADMIN']._serialized_start=6040 + _globals['_AMISHAREADMIN']._serialized_end=6112 + _globals['_RECORDSHAREUPDATEREQUEST']._serialized_start=6115 + _globals['_RECORDSHAREUPDATEREQUEST']._serialized_end=6303 + _globals['_SHAREDRECORD']._serialized_start=6306 + _globals['_SHAREDRECORD']._serialized_end=6630 + _globals['_RECORDSHAREUPDATERESPONSE']._serialized_start=6633 + _globals['_RECORDSHAREUPDATERESPONSE']._serialized_end=6846 + _globals['_SHAREDRECORDSTATUS']._serialized_start=6848 + _globals['_SHAREDRECORDSTATUS']._serialized_end=6938 + _globals['_GETRECORDPERMISSIONSREQUEST']._serialized_start=6940 + _globals['_GETRECORDPERMISSIONSREQUEST']._serialized_end=7011 + _globals['_GETRECORDPERMISSIONSRESPONSE']._serialized_start=7013 + _globals['_GETRECORDPERMISSIONSRESPONSE']._serialized_end=7097 + _globals['_RECORDPERMISSION']._serialized_start=7099 + _globals['_RECORDPERMISSION']._serialized_end=7207 + _globals['_GETSHAREOBJECTSREQUEST']._serialized_start=7209 + _globals['_GETSHAREOBJECTSREQUEST']._serialized_end=7313 + _globals['_GETSHAREOBJECTSRESPONSE']._serialized_start=7316 + _globals['_GETSHAREOBJECTSRESPONSE']._serialized_end=7675 + _globals['_SHAREUSER']._serialized_start=7678 + _globals['_SHAREUSER']._serialized_end=7867 + _globals['_SHARETEAM']._serialized_start=7869 + _globals['_SHARETEAM']._serialized_end=7937 + _globals['_SHAREENTERPRISE']._serialized_start=7939 + _globals['_SHAREENTERPRISE']._serialized_end=8002 + _globals['_RECORDSONWERSHIPTRANSFERREQUEST']._serialized_start=8004 + _globals['_RECORDSONWERSHIPTRANSFERREQUEST']._serialized_end=8087 + _globals['_TRANSFERRECORD']._serialized_start=8089 + _globals['_TRANSFERRECORD']._serialized_end=8180 + _globals['_RECORDSONWERSHIPTRANSFERRESPONSE']._serialized_start=8182 + _globals['_RECORDSONWERSHIPTRANSFERRESPONSE']._serialized_end=8277 + _globals['_TRANSFERRECORDSTATUS']._serialized_start=8279 + _globals['_TRANSFERRECORDSTATUS']._serialized_end=8371 + _globals['_RECORDSUNSHAREREQUEST']._serialized_start=8373 + _globals['_RECORDSUNSHAREREQUEST']._serialized_end=8494 + _globals['_RECORDSUNSHARERESPONSE']._serialized_start=8497 + _globals['_RECORDSUNSHARERESPONSE']._serialized_end=8631 + _globals['_RECORDSUNSHAREFOLDER']._serialized_start=8633 + _globals['_RECORDSUNSHAREFOLDER']._serialized_end=8699 + _globals['_RECORDSUNSHAREUSER']._serialized_start=8701 + _globals['_RECORDSUNSHAREUSER']._serialized_end=8760 + _globals['_RECORDSUNSHAREFOLDERSTATUS']._serialized_start=8762 + _globals['_RECORDSUNSHAREFOLDERSTATUS']._serialized_end=8834 + _globals['_RECORDSUNSHAREUSERSTATUS']._serialized_start=8836 + _globals['_RECORDSUNSHAREUSERSTATUS']._serialized_end=8901 + _globals['_TIMEDACCESSCALLBACKPAYLOAD']._serialized_start=8903 + _globals['_TIMEDACCESSCALLBACKPAYLOAD']._serialized_end=8994 + _globals['_TIMELIMITEDACCESSREQUEST']._serialized_start=8997 + _globals['_TIMELIMITEDACCESSREQUEST']._serialized_end=9250 + _globals['_TIMELIMITEDACCESSSTATUS']._serialized_start=9252 + _globals['_TIMELIMITEDACCESSSTATUS']._serialized_end=9307 + _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_start=9310 + _globals['_TIMELIMITEDACCESSRESPONSE']._serialized_end=9537 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/record_pb2.pyi b/keepersdk-package/src/keepersdk/proto/record_pb2.pyi index 19b58230..0fb64232 100644 --- a/keepersdk-package/src/keepersdk/proto/record_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/record_pb2.pyi @@ -231,14 +231,16 @@ class Record(_message.Message): def __init__(self, record_uid: _Optional[bytes] = ..., record_key: _Optional[bytes] = ..., record_key_type: _Optional[_Union[RecordKeyType, str]] = ..., data: _Optional[bytes] = ..., extra: _Optional[bytes] = ..., version: _Optional[int] = ..., client_modified_time: _Optional[int] = ..., revision: _Optional[int] = ..., file_ids: _Optional[_Iterable[bytes]] = ...) -> None: ... class FolderRecordKey(_message.Message): - __slots__ = ("folder_uid", "record_uid", "record_key") + __slots__ = ("folder_uid", "record_uid", "record_key", "record_key_type") FOLDER_UID_FIELD_NUMBER: _ClassVar[int] RECORD_UID_FIELD_NUMBER: _ClassVar[int] RECORD_KEY_FIELD_NUMBER: _ClassVar[int] + RECORD_KEY_TYPE_FIELD_NUMBER: _ClassVar[int] folder_uid: bytes record_uid: bytes record_key: bytes - def __init__(self, folder_uid: _Optional[bytes] = ..., record_uid: _Optional[bytes] = ..., record_key: _Optional[bytes] = ...) -> None: ... + record_key_type: RecordKeyType + def __init__(self, folder_uid: _Optional[bytes] = ..., record_uid: _Optional[bytes] = ..., record_key: _Optional[bytes] = ..., record_key_type: _Optional[_Union[RecordKeyType, str]] = ...) -> None: ... class Folder(_message.Message): __slots__ = ("folder_uid", "folder_key", "folder_key_type") diff --git a/keepersdk-package/src/keepersdk/proto/remove_pb2.py b/keepersdk-package/src/keepersdk/proto/remove_pb2.py index f5a48130..5a5fd304 100644 --- a/keepersdk-package/src/keepersdk/proto/remove_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/remove_pb2.py @@ -2,12 +2,21 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: remove.proto -# Protobuf Python Version: 6.33.4 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 3, + '', + 'remove.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,7 +25,7 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cremove.proto\x12\x10\x66older.v3.remove\x1a\x1cgoogle/api/annotations.proto\"v\n\rRecordRemoval\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12=\n\x0eoperation_type\x18\x03 \x01(\x0e\x32%.folder.v3.remove.RecordOperationType\"b\n\rFolderRemoval\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12=\n\x0eoperation_type\x18\x02 \x01(\x0e\x32%.folder.v3.remove.FolderOperationType\"\x93\x01\n\x13RemoveRecordRequest\x12.\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveAction\x12\x30\n\x07records\x18\x02 \x03(\x0b\x32\x1f.folder.v3.remove.RecordRemoval\x12\x1a\n\x12\x63onfirmation_token\x18\x03 \x01(\x0c\"\x93\x01\n\x13RemoveFolderRequest\x12.\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveAction\x12\x30\n\x07\x66olders\x18\x02 \x03(\x0b\x32\x1f.folder.v3.remove.FolderRemoval\x12\x1a\n\x12\x63onfirmation_token\x18\x03 \x01(\x0c\"\x8e\x01\n\x0eRemoveResponse\x12\x1a\n\x12\x63onfirmation_token\x18\x01 \x01(\x0c\x12\x18\n\x10token_expires_at\x18\x02 \x01(\x03\x12/\n\x07results\x18\x03 \x03(\x0b\x32\x1e.folder.v3.remove.RemoveResult\x12\x15\n\rerror_message\x18\x04 \x01(\t\"\xba\x01\n\x0cRemoveResult\x12\x10\n\x08item_uid\x18\x01 \x01(\x0c\x12\x12\n\nfolder_uid\x18\x02 \x01(\x0c\x12.\n\x06status\x18\x03 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveStatus\x12(\n\x06impact\x18\x04 \x01(\x0b\x32\x18.folder.v3.remove.Impact\x12*\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x1b.folder.v3.remove.ItemError\"\xb7\x01\n\x06Impact\x12\x15\n\rfolders_count\x18\x01 \x01(\x05\x12\x15\n\rrecords_count\x18\x02 \x01(\x05\x12\x1c\n\x14\x61\x66\x66\x65\x63ted_users_count\x18\x03 \x01(\x05\x12\x1c\n\x14\x61\x66\x66\x65\x63ted_teams_count\x18\x04 \x01(\x05\x12\x31\n\x0brecord_info\x18\x05 \x03(\x0b\x32\x1c.folder.v3.remove.RecordInfo\x12\x10\n\x08warnings\x18\x06 \x03(\t\"9\n\nRecordInfo\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x17\n\x0flocations_count\x18\x02 \x01(\x05\"M\n\tItemError\x12/\n\x04\x63ode\x18\x01 \x01(\x0e\x32!.folder.v3.remove.RemoveErrorCode\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa7\x01\n\x13RemovalTokenPayload\x12<\n\x11item_fingerprints\x18\x01 \x03(\x0b\x32!.folder.v3.remove.ItemFingerprint\x12\x0f\n\x07user_id\x18\x02 \x01(\x05\x12\x11\n\tdevice_id\x18\x03 \x01(\x03\x12\x13\n\x0bsession_uid\x18\x04 \x01(\x0c\x12\x19\n\x11\x65xpires_at_millis\x18\x05 \x01(\x03\"\x94\x01\n\x0fItemFingerprint\x12\x30\n\x06record\x18\x01 \x01(\x0b\x32\x1e.folder.v3.remove.RecordTargetH\x00\x12\x30\n\x06\x66older\x18\x02 \x01(\x0b\x32\x1e.folder.v3.remove.FolderTargetH\x00\x12\x13\n\x0b\x66ingerprint\x18\n \x01(\x0c\x42\x08\n\x06target\"u\n\x0cRecordTarget\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12=\n\x0eoperation_type\x18\x03 \x01(\x0e\x32%.folder.v3.remove.RecordOperationType\"a\n\x0c\x46olderTarget\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12=\n\x0eoperation_type\x18\x02 \x01(\x0e\x32%.folder.v3.remove.FolderOperationType*D\n\x0cRemoveAction\x12\x19\n\x15REMOVE_ACTION_PREVIEW\x10\x00\x12\x19\n\x15REMOVE_ACTION_CONFIRM\x10\x01*~\n\x13RecordOperationType\x12\x1c\n\x18RECORD_OPERATION_UNKNOWN\x10\x00\x12\x16\n\x12UNLINK_FROM_FOLDER\x10\x01\x12\x18\n\x14MOVE_TO_FOLDER_TRASH\x10\x02\x12\x17\n\x13MOVE_TO_OWNER_TRASH\x10\x03*\x91\x01\n\x13\x46olderOperationType\x12\x1c\n\x18\x46OLDER_OPERATION_UNKNOWN\x10\x00\x12\x1f\n\x1b\x46OLDER_MOVE_TO_FOLDER_TRASH\x10\x01\x12\x1e\n\x1a\x46OLDER_MOVE_TO_OWNER_TRASH\x10\x02\x12\x1b\n\x17\x46OLDER_DELETE_PERMANENT\x10\x03*\xcb\x01\n\x0fRemoveErrorCode\x12\x18\n\x14REMOVE_ERROR_UNKNOWN\x10\x00\x12\x1a\n\x16REMOVE_ERROR_NOT_FOUND\x10\x01\x12\x1e\n\x1aREMOVE_ERROR_ACCESS_DENIED\x10\x02\x12 \n\x1cREMOVE_ERROR_TRASHCAN_FOLDER\x10\x03\x12\x1c\n\x18REMOVE_ERROR_ROOT_FOLDER\x10\x04\x12\"\n\x1eREMOVE_ERROR_DESCENDANT_DENIED\x10\x05*\xec\x01\n\x0cRemoveStatus\x12\x19\n\x15REMOVE_STATUS_UNKNOWN\x10\x00\x12\x19\n\x15REMOVE_STATUS_SUCCESS\x10\x01\x12\x1f\n\x1bREMOVE_STATUS_STALE_PREVIEW\x10\x02\x12\x1f\n\x1bREMOVE_STATUS_TOKEN_EXPIRED\x10\x03\x12\x1f\n\x1bREMOVE_STATUS_TOKEN_INVALID\x10\x04\x12\x1f\n\x1bREMOVE_STATUS_ACCESS_DENIED\x10\x05\x12\"\n\x1eREMOVE_STATUS_VALIDATION_ERROR\x10\x06\x32\xad\x02\n\rRemoveService\x12\x8c\x01\n\x0cRemoveRecord\x12%.folder.v3.remove.RemoveRecordRequest\x1a .folder.v3.remove.RemoveResponse\"3\x82\xd3\xe4\x93\x02-\"(/api/rest/vault/folders/v3/remove_record:\x01*\x12\x8c\x01\n\x0cRemoveFolder\x12%.folder.v3.remove.RemoveFolderRequest\x1a .folder.v3.remove.RemoveResponse\"3\x82\xd3\xe4\x93\x02-\"(/api/rest/vault/folders/v3/remove_folder:\x01*B1\n-com.keepersecurity.proto.api.folder.v3.removeP\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cremove.proto\x12\x10\x66older.v3.remove\x1a\x1cgoogle/api/annotations.proto\"v\n\rRecordRemoval\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12=\n\x0eoperation_type\x18\x03 \x01(\x0e\x32%.folder.v3.remove.RecordOperationType\"b\n\rFolderRemoval\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12=\n\x0eoperation_type\x18\x02 \x01(\x0e\x32%.folder.v3.remove.FolderOperationType\"\x93\x01\n\x13RemoveRecordRequest\x12.\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveAction\x12\x30\n\x07records\x18\x02 \x03(\x0b\x32\x1f.folder.v3.remove.RecordRemoval\x12\x1a\n\x12\x63onfirmation_token\x18\x03 \x01(\x0c\"\x93\x01\n\x13RemoveFolderRequest\x12.\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveAction\x12\x30\n\x07\x66olders\x18\x02 \x03(\x0b\x32\x1f.folder.v3.remove.FolderRemoval\x12\x1a\n\x12\x63onfirmation_token\x18\x03 \x01(\x0c\"\x8e\x01\n\x0eRemoveResponse\x12\x1a\n\x12\x63onfirmation_token\x18\x01 \x01(\x0c\x12\x18\n\x10token_expires_at\x18\x02 \x01(\x03\x12/\n\x07results\x18\x03 \x03(\x0b\x32\x1e.folder.v3.remove.RemoveResult\x12\x15\n\rerror_message\x18\x04 \x01(\t\"\xba\x01\n\x0cRemoveResult\x12\x10\n\x08item_uid\x18\x01 \x01(\x0c\x12\x12\n\nfolder_uid\x18\x02 \x01(\x0c\x12.\n\x06status\x18\x03 \x01(\x0e\x32\x1e.folder.v3.remove.RemoveStatus\x12(\n\x06impact\x18\x04 \x01(\x0b\x32\x18.folder.v3.remove.Impact\x12*\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x1b.folder.v3.remove.ItemError\"\xb7\x01\n\x06Impact\x12\x15\n\rfolders_count\x18\x01 \x01(\x05\x12\x15\n\rrecords_count\x18\x02 \x01(\x05\x12\x1c\n\x14\x61\x66\x66\x65\x63ted_users_count\x18\x03 \x01(\x05\x12\x1c\n\x14\x61\x66\x66\x65\x63ted_teams_count\x18\x04 \x01(\x05\x12\x31\n\x0brecord_info\x18\x05 \x03(\x0b\x32\x1c.folder.v3.remove.RecordInfo\x12\x10\n\x08warnings\x18\x06 \x03(\t\"9\n\nRecordInfo\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x17\n\x0flocations_count\x18\x02 \x01(\x05\"M\n\tItemError\x12/\n\x04\x63ode\x18\x01 \x01(\x0e\x32!.folder.v3.remove.RemoveErrorCode\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa7\x01\n\x13RemovalTokenPayload\x12<\n\x11item_fingerprints\x18\x01 \x03(\x0b\x32!.folder.v3.remove.ItemFingerprint\x12\x0f\n\x07user_id\x18\x02 \x01(\x05\x12\x11\n\tdevice_id\x18\x03 \x01(\x03\x12\x13\n\x0bsession_uid\x18\x04 \x01(\x0c\x12\x19\n\x11\x65xpires_at_millis\x18\x05 \x01(\x03\"\x94\x01\n\x0fItemFingerprint\x12\x30\n\x06record\x18\x01 \x01(\x0b\x32\x1e.folder.v3.remove.RecordTargetH\x00\x12\x30\n\x06\x66older\x18\x02 \x01(\x0b\x32\x1e.folder.v3.remove.FolderTargetH\x00\x12\x13\n\x0b\x66ingerprint\x18\n \x01(\x0c\x42\x08\n\x06target\"u\n\x0cRecordTarget\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x12\n\nrecord_uid\x18\x02 \x01(\x0c\x12=\n\x0eoperation_type\x18\x03 \x01(\x0e\x32%.folder.v3.remove.RecordOperationType\"a\n\x0c\x46olderTarget\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12=\n\x0eoperation_type\x18\x02 \x01(\x0e\x32%.folder.v3.remove.FolderOperationType\"\x9f\x01\n\rRestoreResult\x12\x10\n\x08item_uid\x18\x01 \x01(\x0c\x12\x34\n\titem_type\x18\x02 \x01(\x0e\x32!.folder.v3.remove.RestoreItemType\x12/\n\x06status\x18\x03 \x01(\x0e\x32\x1f.folder.v3.remove.RestoreStatus\x12\x15\n\rerror_message\x18\x04 \x01(\t\"b\n\x17TrashcanRestoreResponse\x12\x30\n\x07results\x18\x01 \x03(\x0b\x32\x1f.folder.v3.remove.RestoreResult\x12\x15\n\rerror_message\x18\x02 \x01(\t\"\\\n\rRestoreRecord\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x65ncrypted_record_key\x18\x02 \x01(\x0c\x12\x19\n\x11source_folder_uid\x18\x03 \x01(\x0c\"A\n\rRestoreFolder\x12\x12\n\nfolder_uid\x18\x01 \x01(\x0c\x12\x1c\n\x14\x65ncrypted_folder_key\x18\x02 \x01(\x0c\"\x97\x01\n\x16TrashcanRestoreRequest\x12\x30\n\x07records\x18\x01 \x03(\x0b\x32\x1f.folder.v3.remove.RestoreRecord\x12\x30\n\x07\x66olders\x18\x02 \x03(\x0b\x32\x1f.folder.v3.remove.RestoreFolder\x12\x19\n\x11target_folder_uid\x18\x03 \x01(\x0c*D\n\x0cRemoveAction\x12\x19\n\x15REMOVE_ACTION_PREVIEW\x10\x00\x12\x19\n\x15REMOVE_ACTION_CONFIRM\x10\x01*~\n\x13RecordOperationType\x12\x1c\n\x18RECORD_OPERATION_UNKNOWN\x10\x00\x12\x16\n\x12UNLINK_FROM_FOLDER\x10\x01\x12\x18\n\x14MOVE_TO_FOLDER_TRASH\x10\x02\x12\x17\n\x13MOVE_TO_OWNER_TRASH\x10\x03*\x91\x01\n\x13\x46olderOperationType\x12\x1c\n\x18\x46OLDER_OPERATION_UNKNOWN\x10\x00\x12\x1f\n\x1b\x46OLDER_MOVE_TO_FOLDER_TRASH\x10\x01\x12\x1e\n\x1a\x46OLDER_MOVE_TO_OWNER_TRASH\x10\x02\x12\x1b\n\x17\x46OLDER_DELETE_PERMANENT\x10\x03*\xcb\x01\n\x0fRemoveErrorCode\x12\x18\n\x14REMOVE_ERROR_UNKNOWN\x10\x00\x12\x1a\n\x16REMOVE_ERROR_NOT_FOUND\x10\x01\x12\x1e\n\x1aREMOVE_ERROR_ACCESS_DENIED\x10\x02\x12 \n\x1cREMOVE_ERROR_TRASHCAN_FOLDER\x10\x03\x12\x1c\n\x18REMOVE_ERROR_ROOT_FOLDER\x10\x04\x12\"\n\x1eREMOVE_ERROR_DESCENDANT_DENIED\x10\x05*\xec\x01\n\x0cRemoveStatus\x12\x19\n\x15REMOVE_STATUS_UNKNOWN\x10\x00\x12\x19\n\x15REMOVE_STATUS_SUCCESS\x10\x01\x12\x1f\n\x1bREMOVE_STATUS_STALE_PREVIEW\x10\x02\x12\x1f\n\x1bREMOVE_STATUS_TOKEN_EXPIRED\x10\x03\x12\x1f\n\x1bREMOVE_STATUS_TOKEN_INVALID\x10\x04\x12\x1f\n\x1bREMOVE_STATUS_ACCESS_DENIED\x10\x05\x12\"\n\x1eREMOVE_STATUS_VALIDATION_ERROR\x10\x06*\xb7\x01\n\rRestoreStatus\x12\x1a\n\x16RESTORE_STATUS_UNKNOWN\x10\x00\x12\x0e\n\nRS_SUCCESS\x10\x01\x12\x16\n\x12RS_NOT_IN_TRASHCAN\x10\x02\x12\x14\n\x10RS_ACCESS_DENIED\x10\x03\x12\x1e\n\x1aRS_TARGET_FOLDER_NOT_FOUND\x10\x04\x12\x1f\n\x1bRS_ALREADY_EXISTS_IN_TARGET\x10\x05\x12\x0b\n\x07RS_FAIL\x10\x06*]\n\x0fRestoreItemType\x12\x18\n\x14RESTORE_ITEM_UNKNOWN\x10\x00\x12\x17\n\x13RESTORE_ITEM_RECORD\x10\x01\x12\x17\n\x13RESTORE_ITEM_FOLDER\x10\x02\x32\xce\x03\n\rRemoveService\x12\x8c\x01\n\x0cRemoveRecord\x12%.folder.v3.remove.RemoveRecordRequest\x1a .folder.v3.remove.RemoveResponse\"3\x82\xd3\xe4\x93\x02-\"(/api/rest/vault/folders/v3/remove_record:\x01*\x12\x8c\x01\n\x0cRemoveFolder\x12%.folder.v3.remove.RemoveFolderRequest\x1a .folder.v3.remove.RemoveResponse\"3\x82\xd3\xe4\x93\x02-\"(/api/rest/vault/folders/v3/remove_folder:\x01*\x12\x9e\x01\n\x0fTrashcanRestore\x12(.folder.v3.remove.TrashcanRestoreRequest\x1a).folder.v3.remove.TrashcanRestoreResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/api/rest/vault/folders/v3/trashcan/restore:\x01*B1\n-com.keepersecurity.proto.api.folder.v3.removeP\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -28,16 +37,22 @@ _globals['_REMOVESERVICE'].methods_by_name['RemoveRecord']._serialized_options = b'\202\323\344\223\002-\"(/api/rest/vault/folders/v3/remove_record:\001*' _globals['_REMOVESERVICE'].methods_by_name['RemoveFolder']._loaded_options = None _globals['_REMOVESERVICE'].methods_by_name['RemoveFolder']._serialized_options = b'\202\323\344\223\002-\"(/api/rest/vault/folders/v3/remove_folder:\001*' - _globals['_REMOVEACTION']._serialized_start=1781 - _globals['_REMOVEACTION']._serialized_end=1849 - _globals['_RECORDOPERATIONTYPE']._serialized_start=1851 - _globals['_RECORDOPERATIONTYPE']._serialized_end=1977 - _globals['_FOLDEROPERATIONTYPE']._serialized_start=1980 - _globals['_FOLDEROPERATIONTYPE']._serialized_end=2125 - _globals['_REMOVEERRORCODE']._serialized_start=2128 - _globals['_REMOVEERRORCODE']._serialized_end=2331 - _globals['_REMOVESTATUS']._serialized_start=2334 - _globals['_REMOVESTATUS']._serialized_end=2570 + _globals['_REMOVESERVICE'].methods_by_name['TrashcanRestore']._loaded_options = None + _globals['_REMOVESERVICE'].methods_by_name['TrashcanRestore']._serialized_options = b'\202\323\344\223\0020\"+/api/rest/vault/folders/v3/trashcan/restore:\001*' + _globals['_REMOVEACTION']._serialized_start=2358 + _globals['_REMOVEACTION']._serialized_end=2426 + _globals['_RECORDOPERATIONTYPE']._serialized_start=2428 + _globals['_RECORDOPERATIONTYPE']._serialized_end=2554 + _globals['_FOLDEROPERATIONTYPE']._serialized_start=2557 + _globals['_FOLDEROPERATIONTYPE']._serialized_end=2702 + _globals['_REMOVEERRORCODE']._serialized_start=2705 + _globals['_REMOVEERRORCODE']._serialized_end=2908 + _globals['_REMOVESTATUS']._serialized_start=2911 + _globals['_REMOVESTATUS']._serialized_end=3147 + _globals['_RESTORESTATUS']._serialized_start=3150 + _globals['_RESTORESTATUS']._serialized_end=3333 + _globals['_RESTOREITEMTYPE']._serialized_start=3335 + _globals['_RESTOREITEMTYPE']._serialized_end=3428 _globals['_RECORDREMOVAL']._serialized_start=64 _globals['_RECORDREMOVAL']._serialized_end=182 _globals['_FOLDERREMOVAL']._serialized_start=184 @@ -64,6 +79,16 @@ _globals['_RECORDTARGET']._serialized_end=1680 _globals['_FOLDERTARGET']._serialized_start=1682 _globals['_FOLDERTARGET']._serialized_end=1779 - _globals['_REMOVESERVICE']._serialized_start=2573 - _globals['_REMOVESERVICE']._serialized_end=2874 + _globals['_RESTORERESULT']._serialized_start=1782 + _globals['_RESTORERESULT']._serialized_end=1941 + _globals['_TRASHCANRESTORERESPONSE']._serialized_start=1943 + _globals['_TRASHCANRESTORERESPONSE']._serialized_end=2041 + _globals['_RESTORERECORD']._serialized_start=2043 + _globals['_RESTORERECORD']._serialized_end=2135 + _globals['_RESTOREFOLDER']._serialized_start=2137 + _globals['_RESTOREFOLDER']._serialized_end=2202 + _globals['_TRASHCANRESTOREREQUEST']._serialized_start=2205 + _globals['_TRASHCANRESTOREREQUEST']._serialized_end=2356 + _globals['_REMOVESERVICE']._serialized_start=3431 + _globals['_REMOVESERVICE']._serialized_end=3893 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/remove_pb2.pyi b/keepersdk-package/src/keepersdk/proto/remove_pb2.pyi index c88bbfd0..bd21c9ae 100644 --- a/keepersdk-package/src/keepersdk/proto/remove_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/remove_pb2.pyi @@ -3,8 +3,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -45,6 +44,22 @@ class RemoveStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): REMOVE_STATUS_TOKEN_INVALID: _ClassVar[RemoveStatus] REMOVE_STATUS_ACCESS_DENIED: _ClassVar[RemoveStatus] REMOVE_STATUS_VALIDATION_ERROR: _ClassVar[RemoveStatus] + +class RestoreStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RESTORE_STATUS_UNKNOWN: _ClassVar[RestoreStatus] + RS_SUCCESS: _ClassVar[RestoreStatus] + RS_NOT_IN_TRASHCAN: _ClassVar[RestoreStatus] + RS_ACCESS_DENIED: _ClassVar[RestoreStatus] + RS_TARGET_FOLDER_NOT_FOUND: _ClassVar[RestoreStatus] + RS_ALREADY_EXISTS_IN_TARGET: _ClassVar[RestoreStatus] + RS_FAIL: _ClassVar[RestoreStatus] + +class RestoreItemType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RESTORE_ITEM_UNKNOWN: _ClassVar[RestoreItemType] + RESTORE_ITEM_RECORD: _ClassVar[RestoreItemType] + RESTORE_ITEM_FOLDER: _ClassVar[RestoreItemType] REMOVE_ACTION_PREVIEW: RemoveAction REMOVE_ACTION_CONFIRM: RemoveAction RECORD_OPERATION_UNKNOWN: RecordOperationType @@ -68,6 +83,16 @@ REMOVE_STATUS_TOKEN_EXPIRED: RemoveStatus REMOVE_STATUS_TOKEN_INVALID: RemoveStatus REMOVE_STATUS_ACCESS_DENIED: RemoveStatus REMOVE_STATUS_VALIDATION_ERROR: RemoveStatus +RESTORE_STATUS_UNKNOWN: RestoreStatus +RS_SUCCESS: RestoreStatus +RS_NOT_IN_TRASHCAN: RestoreStatus +RS_ACCESS_DENIED: RestoreStatus +RS_TARGET_FOLDER_NOT_FOUND: RestoreStatus +RS_ALREADY_EXISTS_IN_TARGET: RestoreStatus +RS_FAIL: RestoreStatus +RESTORE_ITEM_UNKNOWN: RestoreItemType +RESTORE_ITEM_RECORD: RestoreItemType +RESTORE_ITEM_FOLDER: RestoreItemType class RecordRemoval(_message.Message): __slots__ = ("folder_uid", "record_uid", "operation_type") @@ -206,3 +231,51 @@ class FolderTarget(_message.Message): folder_uid: bytes operation_type: FolderOperationType def __init__(self, folder_uid: _Optional[bytes] = ..., operation_type: _Optional[_Union[FolderOperationType, str]] = ...) -> None: ... + +class RestoreResult(_message.Message): + __slots__ = ("item_uid", "item_type", "status", "error_message") + ITEM_UID_FIELD_NUMBER: _ClassVar[int] + ITEM_TYPE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + item_uid: bytes + item_type: RestoreItemType + status: RestoreStatus + error_message: str + def __init__(self, item_uid: _Optional[bytes] = ..., item_type: _Optional[_Union[RestoreItemType, str]] = ..., status: _Optional[_Union[RestoreStatus, str]] = ..., error_message: _Optional[str] = ...) -> None: ... + +class TrashcanRestoreResponse(_message.Message): + __slots__ = ("results", "error_message") + RESULTS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + results: _containers.RepeatedCompositeFieldContainer[RestoreResult] + error_message: str + def __init__(self, results: _Optional[_Iterable[_Union[RestoreResult, _Mapping]]] = ..., error_message: _Optional[str] = ...) -> None: ... + +class RestoreRecord(_message.Message): + __slots__ = ("record_uid", "encrypted_record_key", "source_folder_uid") + RECORD_UID_FIELD_NUMBER: _ClassVar[int] + ENCRYPTED_RECORD_KEY_FIELD_NUMBER: _ClassVar[int] + SOURCE_FOLDER_UID_FIELD_NUMBER: _ClassVar[int] + record_uid: bytes + encrypted_record_key: bytes + source_folder_uid: bytes + def __init__(self, record_uid: _Optional[bytes] = ..., encrypted_record_key: _Optional[bytes] = ..., source_folder_uid: _Optional[bytes] = ...) -> None: ... + +class RestoreFolder(_message.Message): + __slots__ = ("folder_uid", "encrypted_folder_key") + FOLDER_UID_FIELD_NUMBER: _ClassVar[int] + ENCRYPTED_FOLDER_KEY_FIELD_NUMBER: _ClassVar[int] + folder_uid: bytes + encrypted_folder_key: bytes + def __init__(self, folder_uid: _Optional[bytes] = ..., encrypted_folder_key: _Optional[bytes] = ...) -> None: ... + +class TrashcanRestoreRequest(_message.Message): + __slots__ = ("records", "folders", "target_folder_uid") + RECORDS_FIELD_NUMBER: _ClassVar[int] + FOLDERS_FIELD_NUMBER: _ClassVar[int] + TARGET_FOLDER_UID_FIELD_NUMBER: _ClassVar[int] + records: _containers.RepeatedCompositeFieldContainer[RestoreRecord] + folders: _containers.RepeatedCompositeFieldContainer[RestoreFolder] + target_folder_uid: bytes + def __init__(self, records: _Optional[_Iterable[_Union[RestoreRecord, _Mapping]]] = ..., folders: _Optional[_Iterable[_Union[RestoreFolder, _Mapping]]] = ..., target_folder_uid: _Optional[bytes] = ...) -> None: ... diff --git a/keepersdk-package/src/keepersdk/proto/router_pb2.py b/keepersdk-package/src/keepersdk/proto/router_pb2.py index 56a2d647..1fcf0c1e 100644 --- a/keepersdk-package/src/keepersdk/proto/router_pb2.py +++ b/keepersdk-package/src/keepersdk/proto/router_pb2.py @@ -27,7 +27,7 @@ from . import folder_pb2 as folder__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0crouter.proto\x12\x06Router\x1a\tpam.proto\x1a\x10\x41PIRequest.proto\x1a\x0c\x66older.proto\"r\n\x0eRouterResponse\x12\x30\n\x0cresponseCode\x18\x01 \x01(\x0e\x32\x1a.Router.RouterResponseCode\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x18\n\x10\x65ncryptedPayload\x18\x03 \x01(\x0c\"\xaf\x01\n\x17RouterControllerMessage\x12/\n\x0bmessageType\x18\x01 \x01(\x0e\x32\x1a.PAM.ControllerMessageType\x12\x12\n\nmessageUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x16\n\x0estreamResponse\x18\x04 \x01(\x08\x12\x0f\n\x07payload\x18\x05 \x01(\x0c\x12\x0f\n\x07timeout\x18\x06 \x01(\x05\"\x99\x02\n\x0eRouterUserAuth\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseUserId\x18\x04 \x01(\x03\x12\x12\n\ndeviceName\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x06 \x01(\x0c\x12\x17\n\x0f\x63lientVersionId\x18\x07 \x01(\x05\x12\x14\n\x0cneedUsername\x18\x08 \x01(\x08\x12\x10\n\x08username\x18\t \x01(\t\x12\x17\n\x0fmspEnterpriseId\x18\n \x01(\x05\x12\x13\n\x0bisPedmAdmin\x18\x0b \x01(\x08\x12\x16\n\x0emcEnterpriseId\x18\x0c \x01(\x05\"\x9d\x02\n\x10RouterDeviceAuth\x12\x10\n\x08\x63lientId\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65nterpriseId\x18\x04 \x01(\x05\x12\x0e\n\x06nodeId\x18\x05 \x01(\x03\x12\x12\n\ndeviceName\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x07 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x08 \x01(\t\x12\x15\n\rcontrollerUid\x18\t \x01(\x0c\x12\x11\n\townerUser\x18\n \x01(\t\x12\x11\n\tchallenge\x18\x0b \x01(\t\x12\x0f\n\x07ownerId\x18\x0c \x01(\x05\x12\x18\n\x10maxInstanceCount\x18\r \x01(\x05\"\x83\x01\n\x14RouterRecordRotation\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x04 \x01(\x0c\x12\x12\n\nnoSchedule\x18\x05 \x01(\x08\"E\n\x1cRouterRecordRotationsRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x0f\n\x07records\x18\x02 \x03(\x0c\"a\n\x1dRouterRecordRotationsResponse\x12/\n\trotations\x18\x01 \x03(\x0b\x32\x1c.Router.RouterRecordRotation\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\"\xed\x01\n\x12RouterRotationInfo\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.Router.RouterRotationStatus\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x03 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x04 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x05 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x06 \x01(\t\x12\x12\n\nscriptName\x18\x07 \x01(\t\x12\x15\n\rpwdComplexity\x18\x08 \x01(\t\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\"\xba\x02\n\x1bRouterRecordRotationRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x18\n\x10\x63onfigurationUid\x18\x03 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x04 \x01(\x0c\x12\x10\n\x08schedule\x18\x05 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x06 \x01(\x03\x12\x15\n\rpwdComplexity\x18\x07 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x12\x15\n\rremoteAddress\x18\t \x01(\t\x12\x17\n\x0f\x63lientVersionId\x18\n \x01(\x05\x12\x0c\n\x04noop\x18\x0b \x01(\x08\x12\x1e\n\x11saasConfiguration\x18\x0c \x01(\x0cH\x00\x88\x01\x01\x42\x14\n\x12_saasConfiguration\"<\n\x17UserRecordAccessRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\"a\n\x18UserRecordAccessResponse\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x32\n\x0b\x61\x63\x63\x65ssLevel\x18\x02 \x01(\x0e\x32\x1d.Router.UserRecordAccessLevel\"M\n\x18UserRecordAccessRequests\x12\x31\n\x08requests\x18\x01 \x03(\x0b\x32\x1f.Router.UserRecordAccessRequest\"P\n\x19UserRecordAccessResponses\x12\x33\n\tresponses\x18\x01 \x03(\x0b\x32 .Router.UserRecordAccessResponse\"H\n\x1dUserSharedFolderAccessRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x17\n\x0fsharedFolderUid\x18\x02 \x03(\x0c\"i\n\x1eUserSharedFolderAccessResponse\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x02 \x01(\x0e\x32\x16.Folder.AccessRoleType\"\\\n\x1fUserSharedFolderAccessResponses\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32&.Router.UserSharedFolderAccessResponse\"8\n\x10RotationSchedule\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x10\n\x08schedule\x18\x02 \x01(\t\"\x90\x01\n\x12\x41piCallbackRequest\x12\x13\n\x0bresourceUid\x18\x01 \x01(\x0c\x12.\n\tschedules\x18\x02 \x03(\x0b\x32\x1b.Router.ApiCallbackSchedule\x12\x0b\n\x03url\x18\x03 \x01(\t\x12(\n\x0bserviceType\x18\x04 \x01(\x0e\x32\x13.Router.ServiceType\"5\n\x13\x41piCallbackSchedule\x12\x10\n\x08schedule\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"@\n\x16RouterScheduledActions\x12\x10\n\x08schedule\x18\x01 \x01(\t\x12\x14\n\x0cresourceUids\x18\x02 \x03(\x0c\"Y\n\x1cRouterRecordsRotationRequest\x12\x39\n\x11rotationSchedules\x18\x01 \x03(\x0b\x32\x1e.Router.RouterScheduledActions\"\x85\x01\n\x14\x43onnectionParameters\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x15\n\rcontrollerUid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x63redentialsRecordUid\x18\x05 \x01(\x0c\"O\n\x1aValidateConnectionsRequest\x12\x31\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x1c.Router.ConnectionParameters\"J\n\x1b\x43onnectionValidationFailure\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\"]\n\x1bValidateConnectionsResponse\x12>\n\x11\x66\x61iledConnections\x18\x01 \x03(\x0b\x32#.Router.ConnectionValidationFailure\"1\n\x15GetEnforcementRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\";\n\x0f\x45nforcementType\x12\x19\n\x11\x65nforcementTypeId\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t\"p\n\x16GetEnforcementResponse\x12\x31\n\x10\x65nforcementTypes\x18\x01 \x03(\x0b\x32\x17.Router.EnforcementType\x12\x10\n\x08\x61\x64\x64OnIds\x18\x02 \x03(\x05\x12\x11\n\tisInTrial\x18\x03 \x01(\x08\"O\n\x17PEDMTOTPValidateRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x03 \x01(\x05\"H\n\x18GetPEDMAdminInfoResponse\x12\x13\n\x0bisPedmAdmin\x18\x01 \x01(\x08\x12\x17\n\x0fpedmAddonActive\x18\x02 \x01(\x08\"-\n\x12PAMNetworkSettings\x12\x17\n\x0f\x61llowedSettings\x18\x01 \x01(\x0c\"\xe4\x01\n\x1ePAMNetworkConfigurationRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x38\n\x0fnetworkSettings\x18\x02 \x01(\x0b\x32\x1a.Router.PAMNetworkSettingsH\x00\x88\x01\x01\x12)\n\tresources\x18\x03 \x03(\x0b\x32\x16.PAM.PAMResourceConfig\x12\x36\n\trotations\x18\x04 \x03(\x0b\x32#.Router.RouterRecordRotationRequestB\x12\n\x10_networkSettings\"R\n\x1bPAMDiscoveryRulesSetRequest\x12\x12\n\nnetworkUid\x18\x01 \x01(\x0c\x12\r\n\x05rules\x18\x02 \x01(\x0c\x12\x10\n\x08rulesKey\x18\x03 \x01(\x0c\"X\n\x18Router2FAValidateRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\r\n\x05value\x18\x03 \x01(\t\"~\n\x18Router2FASendPushRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\x33\n\x08pushType\x18\x03 \x01(\x0e\x32!.Authentication.TwoFactorPushType\"U\n$Router2FAGetWebAuthnChallengeRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\"P\n%Router2FAGetWebAuthnChallengeResponse\x12\x11\n\tchallenge\x18\x01 \x01(\t\x12\x14\n\x0c\x63\x61pabilities\x18\x02 \x03(\t\"[\n\x1c\x43reateEphemeralSecretRequest\x12\x17\n\x0f\x65ncryptedSecret\x18\x01 \x01(\x0c\x12\x15\n\rsecretKeyHash\x18\x02 \x01(\x0c\x12\x0b\n\x03ttl\x18\x03 \x01(\x03*\x98\x02\n\x12RouterResponseCode\x12\n\n\x06RRC_OK\x10\x00\x12\x15\n\x11RRC_GENERAL_ERROR\x10\x01\x12\x13\n\x0fRRC_NOT_ALLOWED\x10\x02\x12\x13\n\x0fRRC_BAD_REQUEST\x10\x03\x12\x0f\n\x0bRRC_TIMEOUT\x10\x04\x12\x11\n\rRRC_BAD_STATE\x10\x05\x12\x17\n\x13RRC_CONTROLLER_DOWN\x10\x06\x12\x16\n\x12RRC_WRONG_INSTANCE\x10\x07\x12+\n\'RRC_NOT_ALLOWED_ENFORCEMENT_NOT_ENABLED\x10\x08\x12\x33\n/RRC_NOT_ALLOWED_PAM_CONFIG_FEATURES_NOT_ENABLED\x10\t*k\n\x14RouterRotationStatus\x12\x0e\n\nRRS_ONLINE\x10\x00\x12\x13\n\x0fRRS_NO_ROTATION\x10\x01\x12\x15\n\x11RRS_NO_CONTROLLER\x10\x02\x12\x17\n\x13RRS_CONTROLLER_DOWN\x10\x03*}\n\x15UserRecordAccessLevel\x12\r\n\tRRAL_NONE\x10\x00\x12\r\n\tRRAL_READ\x10\x01\x12\x0e\n\nRRAL_SHARE\x10\x02\x12\r\n\tRRAL_EDIT\x10\x03\x12\x17\n\x13RRAL_EDIT_AND_SHARE\x10\x04\x12\x0e\n\nRRAL_OWNER\x10\x05*.\n\x0bServiceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02KA\x10\x01\x12\x06\n\x02\x42I\x10\x02\x42\"\n\x18\x63om.keepersecurity.protoB\x06Routerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0crouter.proto\x12\x06Router\x1a\tpam.proto\x1a\x10\x41PIRequest.proto\x1a\x0c\x66older.proto\"r\n\x0eRouterResponse\x12\x30\n\x0cresponseCode\x18\x01 \x01(\x0e\x32\x1a.Router.RouterResponseCode\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x18\n\x10\x65ncryptedPayload\x18\x03 \x01(\x0c\"\xaf\x01\n\x17RouterControllerMessage\x12/\n\x0bmessageType\x18\x01 \x01(\x0e\x32\x1a.PAM.ControllerMessageType\x12\x12\n\nmessageUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x16\n\x0estreamResponse\x18\x04 \x01(\x08\x12\x0f\n\x07payload\x18\x05 \x01(\x0c\x12\x0f\n\x07timeout\x18\x06 \x01(\x05\"\xbd\x02\n\x0eRouterUserAuth\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x18\n\x10\x65nterpriseUserId\x18\x04 \x01(\x03\x12\x12\n\ndeviceName\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x06 \x01(\x0c\x12\x17\n\x0f\x63lientVersionId\x18\x07 \x01(\x05\x12\x14\n\x0cneedUsername\x18\x08 \x01(\x08\x12\x10\n\x08username\x18\t \x01(\t\x12\x17\n\x0fmspEnterpriseId\x18\n \x01(\x05\x12\x13\n\x0bisPedmAdmin\x18\x0b \x01(\x08\x12\x16\n\x0emcEnterpriseId\x18\x0c \x01(\x05\x12\x15\n\x08\x64\x65viceId\x18\r \x01(\x03H\x00\x88\x01\x01\x42\x0b\n\t_deviceId\"\x9d\x02\n\x10RouterDeviceAuth\x12\x10\n\x08\x63lientId\x18\x01 \x01(\t\x12\x15\n\rclientVersion\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x14\n\x0c\x65nterpriseId\x18\x04 \x01(\x05\x12\x0e\n\x06nodeId\x18\x05 \x01(\x03\x12\x12\n\ndeviceName\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65viceToken\x18\x07 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x08 \x01(\t\x12\x15\n\rcontrollerUid\x18\t \x01(\x0c\x12\x11\n\townerUser\x18\n \x01(\t\x12\x11\n\tchallenge\x18\x0b \x01(\t\x12\x0f\n\x07ownerId\x18\x0c \x01(\x05\x12\x18\n\x10maxInstanceCount\x18\r \x01(\x05\"\x83\x01\n\x14RouterRecordRotation\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x15\n\rcontrollerUid\x18\x03 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x04 \x01(\x0c\x12\x12\n\nnoSchedule\x18\x05 \x01(\x08\"E\n\x1cRouterRecordRotationsRequest\x12\x14\n\x0c\x65nterpriseId\x18\x01 \x01(\x05\x12\x0f\n\x07records\x18\x02 \x03(\x0c\"a\n\x1dRouterRecordRotationsResponse\x12/\n\trotations\x18\x01 \x03(\x0b\x32\x1c.Router.RouterRecordRotation\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\"\xfe\x01\n\x12RouterRotationInfo\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.Router.RouterRotationStatus\x12\x18\n\x10\x63onfigurationUid\x18\x02 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x03 \x01(\x0c\x12\x0e\n\x06nodeId\x18\x04 \x01(\x03\x12\x15\n\rcontrollerUid\x18\x05 \x01(\x0c\x12\x16\n\x0e\x63ontrollerName\x18\x06 \x01(\t\x12\x12\n\nscriptName\x18\x07 \x01(\t\x12\x15\n\rpwdComplexity\x18\x08 \x01(\t\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x0f\n\x07scripts\x18\n \x03(\x0c\"\xac\x03\n\x1bRouterRecordRotationRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x03\x12\x18\n\x10\x63onfigurationUid\x18\x03 \x01(\x0c\x12\x13\n\x0bresourceUid\x18\x04 \x01(\x0c\x12\x10\n\x08schedule\x18\x05 \x01(\t\x12\x18\n\x10\x65nterpriseUserId\x18\x06 \x01(\x03\x12\x15\n\rpwdComplexity\x18\x07 \x01(\x0c\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x12\x15\n\rremoteAddress\x18\t \x01(\t\x12\x17\n\x0f\x63lientVersionId\x18\n \x01(\x05\x12\x0c\n\x04noop\x18\x0b \x01(\x08\x12\x1e\n\x11saasConfiguration\x18\x0c \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0eupdateServices\x18\r \x01(\x08H\x01\x88\x01\x01\x12+\n\x10serviceResources\x18\x0e \x01(\x0b\x32\x0c.PAM.UidListH\x02\x88\x01\x01\x42\x14\n\x12_saasConfigurationB\x11\n\x0f_updateServicesB\x13\n\x11_serviceResources\"<\n\x17UserRecordAccessRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\"w\n\x18UserRecordAccessResponse\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x32\n\x0b\x61\x63\x63\x65ssLevel\x18\x02 \x01(\x0e\x32\x1d.Router.UserRecordAccessLevel\x12\x14\n\x0cisShareAdmin\x18\x03 \x01(\x08\"M\n\x18UserRecordAccessRequests\x12\x31\n\x08requests\x18\x01 \x03(\x0b\x32\x1f.Router.UserRecordAccessRequest\"P\n\x19UserRecordAccessResponses\x12\x33\n\tresponses\x18\x01 \x03(\x0b\x32 .Router.UserRecordAccessResponse\"H\n\x1dUserSharedFolderAccessRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x17\n\x0fsharedFolderUid\x18\x02 \x03(\x0c\"i\n\x1eUserSharedFolderAccessResponse\x12\x17\n\x0fsharedFolderUid\x18\x01 \x01(\x0c\x12.\n\x0e\x61\x63\x63\x65ssRoleType\x18\x02 \x01(\x0e\x32\x16.Folder.AccessRoleType\"\\\n\x1fUserSharedFolderAccessResponses\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32&.Router.UserSharedFolderAccessResponse\"A\n\x1cUserFolderPermissionsRequest\x12\x0e\n\x06userId\x18\x01 \x01(\x05\x12\x11\n\tfolderUid\x18\x02 \x03(\x0c\"b\n\x1dUserFolderPermissionsResponse\x12\x11\n\tfolderUid\x18\x01 \x01(\x0c\x12.\n\x0bpermissions\x18\x02 \x01(\x0b\x32\x19.Folder.FolderPermissions\"Z\n\x1eUserFolderPermissionsResponses\x12\x38\n\tresponses\x18\x01 \x03(\x0b\x32%.Router.UserFolderPermissionsResponse\"8\n\x10RotationSchedule\x12\x12\n\nrecord_uid\x18\x01 \x01(\x0c\x12\x10\n\x08schedule\x18\x02 \x01(\t\"\x90\x01\n\x12\x41piCallbackRequest\x12\x13\n\x0bresourceUid\x18\x01 \x01(\x0c\x12.\n\tschedules\x18\x02 \x03(\x0b\x32\x1b.Router.ApiCallbackSchedule\x12\x0b\n\x03url\x18\x03 \x01(\t\x12(\n\x0bserviceType\x18\x04 \x01(\x0e\x32\x13.Router.ServiceType\"5\n\x13\x41piCallbackSchedule\x12\x10\n\x08schedule\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"@\n\x16RouterScheduledActions\x12\x10\n\x08schedule\x18\x01 \x01(\t\x12\x14\n\x0cresourceUids\x18\x02 \x03(\x0c\"Y\n\x1cRouterRecordsRotationRequest\x12\x39\n\x11rotationSchedules\x18\x01 \x03(\x0b\x32\x1e.Router.RouterScheduledActions\"\x85\x01\n\x14\x43onnectionParameters\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\x11\n\trecordUid\x18\x02 \x01(\x0c\x12\x0e\n\x06userId\x18\x03 \x01(\x05\x12\x15\n\rcontrollerUid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x63redentialsRecordUid\x18\x05 \x01(\x0c\"O\n\x1aValidateConnectionsRequest\x12\x31\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x1c.Router.ConnectionParameters\"J\n\x1b\x43onnectionValidationFailure\x12\x15\n\rconnectionUid\x18\x01 \x01(\x0c\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\"]\n\x1bValidateConnectionsResponse\x12>\n\x11\x66\x61iledConnections\x18\x01 \x03(\x0b\x32#.Router.ConnectionValidationFailure\"1\n\x15GetEnforcementRequest\x12\x18\n\x10\x65nterpriseUserId\x18\x01 \x01(\x03\";\n\x0f\x45nforcementType\x12\x19\n\x11\x65nforcementTypeId\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t\"p\n\x16GetEnforcementResponse\x12\x31\n\x10\x65nforcementTypes\x18\x01 \x03(\x0b\x32\x17.Router.EnforcementType\x12\x10\n\x08\x61\x64\x64OnIds\x18\x02 \x03(\x05\x12\x11\n\tisInTrial\x18\x03 \x01(\x08\"O\n\x17PEDMTOTPValidateRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x65nterpriseId\x18\x02 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x03 \x01(\x05\"H\n\x18GetPEDMAdminInfoResponse\x12\x13\n\x0bisPedmAdmin\x18\x01 \x01(\x08\x12\x17\n\x0fpedmAddonActive\x18\x02 \x01(\x08\"}\n\x12PAMNetworkSettings\x12\x17\n\x0f\x61llowedSettings\x18\x01 \x01(\x0c\x12\x19\n\x0cidpConfigUid\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08\x61\x64minUid\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\x0f\n\r_idpConfigUidB\x0b\n\t_adminUid\"\xe4\x01\n\x1ePAMNetworkConfigurationRequest\x12\x11\n\trecordUid\x18\x01 \x01(\x0c\x12\x38\n\x0fnetworkSettings\x18\x02 \x01(\x0b\x32\x1a.Router.PAMNetworkSettingsH\x00\x88\x01\x01\x12)\n\tresources\x18\x03 \x03(\x0b\x32\x16.PAM.PAMResourceConfig\x12\x36\n\trotations\x18\x04 \x03(\x0b\x32#.Router.RouterRecordRotationRequestB\x12\n\x10_networkSettings\"R\n\x1bPAMDiscoveryRulesSetRequest\x12\x12\n\nnetworkUid\x18\x01 \x01(\x0c\x12\r\n\x05rules\x18\x02 \x01(\x0c\x12\x10\n\x08rulesKey\x18\x03 \x01(\x0c\"p\n\x18Router2FAValidateRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\x0e\x63hallengeToken\x18\x04 \x01(\x0c\"~\n\x18Router2FASendPushRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\x12\x33\n\x08pushType\x18\x03 \x01(\x0e\x32!.Authentication.TwoFactorPushType\"U\n$Router2FAGetWebAuthnChallengeRequest\x12\x17\n\x0ftransmissionKey\x18\x01 \x01(\x0c\x12\x14\n\x0csessionToken\x18\x02 \x01(\x0c\"h\n%Router2FAGetWebAuthnChallengeResponse\x12\x11\n\tchallenge\x18\x01 \x01(\t\x12\x14\n\x0c\x63\x61pabilities\x18\x02 \x03(\t\x12\x16\n\x0e\x63hallengeToken\x18\x03 \x01(\x0c\"[\n\x1c\x43reateEphemeralSecretRequest\x12\x17\n\x0f\x65ncryptedSecret\x18\x01 \x01(\x0c\x12\x15\n\rsecretKeyHash\x18\x02 \x01(\x0c\x12\x0b\n\x03ttl\x18\x03 \x01(\x03\"\xd8\x01\n\x16UserAccessLoweredEvent\x12\x35\n\teventType\x18\x01 \x01(\x0e\x32\".Router.UserAccessLoweredEventType\x12\x19\n\x11\x65nterpriseUserIds\x18\x02 \x03(\x03\x12\x12\n\nrecordUids\x18\x03 \x03(\x0c\x12\x15\n\x08\x64\x65viceId\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12\x1e\n\x11\x65nforcementTypeId\x18\x05 \x01(\x05H\x01\x88\x01\x01\x42\x0b\n\t_deviceIdB\x14\n\x12_enforcementTypeId\"P\n\x1eUserAccessLoweredEventsRequest\x12.\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1e.Router.UserAccessLoweredEvent*\x98\x02\n\x12RouterResponseCode\x12\n\n\x06RRC_OK\x10\x00\x12\x15\n\x11RRC_GENERAL_ERROR\x10\x01\x12\x13\n\x0fRRC_NOT_ALLOWED\x10\x02\x12\x13\n\x0fRRC_BAD_REQUEST\x10\x03\x12\x0f\n\x0bRRC_TIMEOUT\x10\x04\x12\x11\n\rRRC_BAD_STATE\x10\x05\x12\x17\n\x13RRC_CONTROLLER_DOWN\x10\x06\x12\x16\n\x12RRC_WRONG_INSTANCE\x10\x07\x12+\n\'RRC_NOT_ALLOWED_ENFORCEMENT_NOT_ENABLED\x10\x08\x12\x33\n/RRC_NOT_ALLOWED_PAM_CONFIG_FEATURES_NOT_ENABLED\x10\t*k\n\x14RouterRotationStatus\x12\x0e\n\nRRS_ONLINE\x10\x00\x12\x13\n\x0fRRS_NO_ROTATION\x10\x01\x12\x15\n\x11RRS_NO_CONTROLLER\x10\x02\x12\x17\n\x13RRS_CONTROLLER_DOWN\x10\x03*}\n\x15UserRecordAccessLevel\x12\r\n\tRRAL_NONE\x10\x00\x12\r\n\tRRAL_READ\x10\x01\x12\x0e\n\nRRAL_SHARE\x10\x02\x12\r\n\tRRAL_EDIT\x10\x03\x12\x17\n\x13RRAL_EDIT_AND_SHARE\x10\x04\x12\x0e\n\nRRAL_OWNER\x10\x05*.\n\x0bServiceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02KA\x10\x01\x12\x06\n\x02\x42I\x10\x02*\xa7\x01\n\x1aUserAccessLoweredEventType\x12\x14\n\x10UALE_UNSPECIFIED\x10\x00\x12\x16\n\x12UALE_DEVICE_LOGOUT\x10\x01\x12 \n\x1cUALE_USER_LOGOUT_ALL_DEVICES\x10\x02\x12\x1c\n\x18UALE_ENFORCEMENT_REMOVED\x10\x03\x12\x1b\n\x17UALE_RECORD_ACCESS_LOST\x10\x04\x42\"\n\x18\x63om.keepersecurity.protoB\x06Routerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,88 +35,100 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.keepersecurity.protoB\006Router' - _globals['_ROUTERRESPONSECODE']._serialized_start=4420 - _globals['_ROUTERRESPONSECODE']._serialized_end=4700 - _globals['_ROUTERROTATIONSTATUS']._serialized_start=4702 - _globals['_ROUTERROTATIONSTATUS']._serialized_end=4809 - _globals['_USERRECORDACCESSLEVEL']._serialized_start=4811 - _globals['_USERRECORDACCESSLEVEL']._serialized_end=4936 - _globals['_SERVICETYPE']._serialized_start=4938 - _globals['_SERVICETYPE']._serialized_end=4984 + _globals['_ROUTERRESPONSECODE']._serialized_start=5297 + _globals['_ROUTERRESPONSECODE']._serialized_end=5577 + _globals['_ROUTERROTATIONSTATUS']._serialized_start=5579 + _globals['_ROUTERROTATIONSTATUS']._serialized_end=5686 + _globals['_USERRECORDACCESSLEVEL']._serialized_start=5688 + _globals['_USERRECORDACCESSLEVEL']._serialized_end=5813 + _globals['_SERVICETYPE']._serialized_start=5815 + _globals['_SERVICETYPE']._serialized_end=5861 + _globals['_USERACCESSLOWEREDEVENTTYPE']._serialized_start=5864 + _globals['_USERACCESSLOWEREDEVENTTYPE']._serialized_end=6031 _globals['_ROUTERRESPONSE']._serialized_start=67 _globals['_ROUTERRESPONSE']._serialized_end=181 _globals['_ROUTERCONTROLLERMESSAGE']._serialized_start=184 _globals['_ROUTERCONTROLLERMESSAGE']._serialized_end=359 _globals['_ROUTERUSERAUTH']._serialized_start=362 - _globals['_ROUTERUSERAUTH']._serialized_end=643 - _globals['_ROUTERDEVICEAUTH']._serialized_start=646 - _globals['_ROUTERDEVICEAUTH']._serialized_end=931 - _globals['_ROUTERRECORDROTATION']._serialized_start=934 - _globals['_ROUTERRECORDROTATION']._serialized_end=1065 - _globals['_ROUTERRECORDROTATIONSREQUEST']._serialized_start=1067 - _globals['_ROUTERRECORDROTATIONSREQUEST']._serialized_end=1136 - _globals['_ROUTERRECORDROTATIONSRESPONSE']._serialized_start=1138 - _globals['_ROUTERRECORDROTATIONSRESPONSE']._serialized_end=1235 - _globals['_ROUTERROTATIONINFO']._serialized_start=1238 - _globals['_ROUTERROTATIONINFO']._serialized_end=1475 - _globals['_ROUTERRECORDROTATIONREQUEST']._serialized_start=1478 - _globals['_ROUTERRECORDROTATIONREQUEST']._serialized_end=1792 - _globals['_USERRECORDACCESSREQUEST']._serialized_start=1794 - _globals['_USERRECORDACCESSREQUEST']._serialized_end=1854 - _globals['_USERRECORDACCESSRESPONSE']._serialized_start=1856 - _globals['_USERRECORDACCESSRESPONSE']._serialized_end=1953 - _globals['_USERRECORDACCESSREQUESTS']._serialized_start=1955 - _globals['_USERRECORDACCESSREQUESTS']._serialized_end=2032 - _globals['_USERRECORDACCESSRESPONSES']._serialized_start=2034 - _globals['_USERRECORDACCESSRESPONSES']._serialized_end=2114 - _globals['_USERSHAREDFOLDERACCESSREQUEST']._serialized_start=2116 - _globals['_USERSHAREDFOLDERACCESSREQUEST']._serialized_end=2188 - _globals['_USERSHAREDFOLDERACCESSRESPONSE']._serialized_start=2190 - _globals['_USERSHAREDFOLDERACCESSRESPONSE']._serialized_end=2295 - _globals['_USERSHAREDFOLDERACCESSRESPONSES']._serialized_start=2297 - _globals['_USERSHAREDFOLDERACCESSRESPONSES']._serialized_end=2389 - _globals['_ROTATIONSCHEDULE']._serialized_start=2391 - _globals['_ROTATIONSCHEDULE']._serialized_end=2447 - _globals['_APICALLBACKREQUEST']._serialized_start=2450 - _globals['_APICALLBACKREQUEST']._serialized_end=2594 - _globals['_APICALLBACKSCHEDULE']._serialized_start=2596 - _globals['_APICALLBACKSCHEDULE']._serialized_end=2649 - _globals['_ROUTERSCHEDULEDACTIONS']._serialized_start=2651 - _globals['_ROUTERSCHEDULEDACTIONS']._serialized_end=2715 - _globals['_ROUTERRECORDSROTATIONREQUEST']._serialized_start=2717 - _globals['_ROUTERRECORDSROTATIONREQUEST']._serialized_end=2806 - _globals['_CONNECTIONPARAMETERS']._serialized_start=2809 - _globals['_CONNECTIONPARAMETERS']._serialized_end=2942 - _globals['_VALIDATECONNECTIONSREQUEST']._serialized_start=2944 - _globals['_VALIDATECONNECTIONSREQUEST']._serialized_end=3023 - _globals['_CONNECTIONVALIDATIONFAILURE']._serialized_start=3025 - _globals['_CONNECTIONVALIDATIONFAILURE']._serialized_end=3099 - _globals['_VALIDATECONNECTIONSRESPONSE']._serialized_start=3101 - _globals['_VALIDATECONNECTIONSRESPONSE']._serialized_end=3194 - _globals['_GETENFORCEMENTREQUEST']._serialized_start=3196 - _globals['_GETENFORCEMENTREQUEST']._serialized_end=3245 - _globals['_ENFORCEMENTTYPE']._serialized_start=3247 - _globals['_ENFORCEMENTTYPE']._serialized_end=3306 - _globals['_GETENFORCEMENTRESPONSE']._serialized_start=3308 - _globals['_GETENFORCEMENTRESPONSE']._serialized_end=3420 - _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_start=3422 - _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_end=3501 - _globals['_GETPEDMADMININFORESPONSE']._serialized_start=3503 - _globals['_GETPEDMADMININFORESPONSE']._serialized_end=3575 - _globals['_PAMNETWORKSETTINGS']._serialized_start=3577 - _globals['_PAMNETWORKSETTINGS']._serialized_end=3622 - _globals['_PAMNETWORKCONFIGURATIONREQUEST']._serialized_start=3625 - _globals['_PAMNETWORKCONFIGURATIONREQUEST']._serialized_end=3853 - _globals['_PAMDISCOVERYRULESSETREQUEST']._serialized_start=3855 - _globals['_PAMDISCOVERYRULESSETREQUEST']._serialized_end=3937 - _globals['_ROUTER2FAVALIDATEREQUEST']._serialized_start=3939 - _globals['_ROUTER2FAVALIDATEREQUEST']._serialized_end=4027 - _globals['_ROUTER2FASENDPUSHREQUEST']._serialized_start=4029 - _globals['_ROUTER2FASENDPUSHREQUEST']._serialized_end=4155 - _globals['_ROUTER2FAGETWEBAUTHNCHALLENGEREQUEST']._serialized_start=4157 - _globals['_ROUTER2FAGETWEBAUTHNCHALLENGEREQUEST']._serialized_end=4242 - _globals['_ROUTER2FAGETWEBAUTHNCHALLENGERESPONSE']._serialized_start=4244 - _globals['_ROUTER2FAGETWEBAUTHNCHALLENGERESPONSE']._serialized_end=4324 - _globals['_CREATEEPHEMERALSECRETREQUEST']._serialized_start=4326 - _globals['_CREATEEPHEMERALSECRETREQUEST']._serialized_end=4417 + _globals['_ROUTERUSERAUTH']._serialized_end=679 + _globals['_ROUTERDEVICEAUTH']._serialized_start=682 + _globals['_ROUTERDEVICEAUTH']._serialized_end=967 + _globals['_ROUTERRECORDROTATION']._serialized_start=970 + _globals['_ROUTERRECORDROTATION']._serialized_end=1101 + _globals['_ROUTERRECORDROTATIONSREQUEST']._serialized_start=1103 + _globals['_ROUTERRECORDROTATIONSREQUEST']._serialized_end=1172 + _globals['_ROUTERRECORDROTATIONSRESPONSE']._serialized_start=1174 + _globals['_ROUTERRECORDROTATIONSRESPONSE']._serialized_end=1271 + _globals['_ROUTERROTATIONINFO']._serialized_start=1274 + _globals['_ROUTERROTATIONINFO']._serialized_end=1528 + _globals['_ROUTERRECORDROTATIONREQUEST']._serialized_start=1531 + _globals['_ROUTERRECORDROTATIONREQUEST']._serialized_end=1959 + _globals['_USERRECORDACCESSREQUEST']._serialized_start=1961 + _globals['_USERRECORDACCESSREQUEST']._serialized_end=2021 + _globals['_USERRECORDACCESSRESPONSE']._serialized_start=2023 + _globals['_USERRECORDACCESSRESPONSE']._serialized_end=2142 + _globals['_USERRECORDACCESSREQUESTS']._serialized_start=2144 + _globals['_USERRECORDACCESSREQUESTS']._serialized_end=2221 + _globals['_USERRECORDACCESSRESPONSES']._serialized_start=2223 + _globals['_USERRECORDACCESSRESPONSES']._serialized_end=2303 + _globals['_USERSHAREDFOLDERACCESSREQUEST']._serialized_start=2305 + _globals['_USERSHAREDFOLDERACCESSREQUEST']._serialized_end=2377 + _globals['_USERSHAREDFOLDERACCESSRESPONSE']._serialized_start=2379 + _globals['_USERSHAREDFOLDERACCESSRESPONSE']._serialized_end=2484 + _globals['_USERSHAREDFOLDERACCESSRESPONSES']._serialized_start=2486 + _globals['_USERSHAREDFOLDERACCESSRESPONSES']._serialized_end=2578 + _globals['_USERFOLDERPERMISSIONSREQUEST']._serialized_start=2580 + _globals['_USERFOLDERPERMISSIONSREQUEST']._serialized_end=2645 + _globals['_USERFOLDERPERMISSIONSRESPONSE']._serialized_start=2647 + _globals['_USERFOLDERPERMISSIONSRESPONSE']._serialized_end=2745 + _globals['_USERFOLDERPERMISSIONSRESPONSES']._serialized_start=2747 + _globals['_USERFOLDERPERMISSIONSRESPONSES']._serialized_end=2837 + _globals['_ROTATIONSCHEDULE']._serialized_start=2839 + _globals['_ROTATIONSCHEDULE']._serialized_end=2895 + _globals['_APICALLBACKREQUEST']._serialized_start=2898 + _globals['_APICALLBACKREQUEST']._serialized_end=3042 + _globals['_APICALLBACKSCHEDULE']._serialized_start=3044 + _globals['_APICALLBACKSCHEDULE']._serialized_end=3097 + _globals['_ROUTERSCHEDULEDACTIONS']._serialized_start=3099 + _globals['_ROUTERSCHEDULEDACTIONS']._serialized_end=3163 + _globals['_ROUTERRECORDSROTATIONREQUEST']._serialized_start=3165 + _globals['_ROUTERRECORDSROTATIONREQUEST']._serialized_end=3254 + _globals['_CONNECTIONPARAMETERS']._serialized_start=3257 + _globals['_CONNECTIONPARAMETERS']._serialized_end=3390 + _globals['_VALIDATECONNECTIONSREQUEST']._serialized_start=3392 + _globals['_VALIDATECONNECTIONSREQUEST']._serialized_end=3471 + _globals['_CONNECTIONVALIDATIONFAILURE']._serialized_start=3473 + _globals['_CONNECTIONVALIDATIONFAILURE']._serialized_end=3547 + _globals['_VALIDATECONNECTIONSRESPONSE']._serialized_start=3549 + _globals['_VALIDATECONNECTIONSRESPONSE']._serialized_end=3642 + _globals['_GETENFORCEMENTREQUEST']._serialized_start=3644 + _globals['_GETENFORCEMENTREQUEST']._serialized_end=3693 + _globals['_ENFORCEMENTTYPE']._serialized_start=3695 + _globals['_ENFORCEMENTTYPE']._serialized_end=3754 + _globals['_GETENFORCEMENTRESPONSE']._serialized_start=3756 + _globals['_GETENFORCEMENTRESPONSE']._serialized_end=3868 + _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_start=3870 + _globals['_PEDMTOTPVALIDATEREQUEST']._serialized_end=3949 + _globals['_GETPEDMADMININFORESPONSE']._serialized_start=3951 + _globals['_GETPEDMADMININFORESPONSE']._serialized_end=4023 + _globals['_PAMNETWORKSETTINGS']._serialized_start=4025 + _globals['_PAMNETWORKSETTINGS']._serialized_end=4150 + _globals['_PAMNETWORKCONFIGURATIONREQUEST']._serialized_start=4153 + _globals['_PAMNETWORKCONFIGURATIONREQUEST']._serialized_end=4381 + _globals['_PAMDISCOVERYRULESSETREQUEST']._serialized_start=4383 + _globals['_PAMDISCOVERYRULESSETREQUEST']._serialized_end=4465 + _globals['_ROUTER2FAVALIDATEREQUEST']._serialized_start=4467 + _globals['_ROUTER2FAVALIDATEREQUEST']._serialized_end=4579 + _globals['_ROUTER2FASENDPUSHREQUEST']._serialized_start=4581 + _globals['_ROUTER2FASENDPUSHREQUEST']._serialized_end=4707 + _globals['_ROUTER2FAGETWEBAUTHNCHALLENGEREQUEST']._serialized_start=4709 + _globals['_ROUTER2FAGETWEBAUTHNCHALLENGEREQUEST']._serialized_end=4794 + _globals['_ROUTER2FAGETWEBAUTHNCHALLENGERESPONSE']._serialized_start=4796 + _globals['_ROUTER2FAGETWEBAUTHNCHALLENGERESPONSE']._serialized_end=4900 + _globals['_CREATEEPHEMERALSECRETREQUEST']._serialized_start=4902 + _globals['_CREATEEPHEMERALSECRETREQUEST']._serialized_end=4993 + _globals['_USERACCESSLOWEREDEVENT']._serialized_start=4996 + _globals['_USERACCESSLOWEREDEVENT']._serialized_end=5212 + _globals['_USERACCESSLOWEREDEVENTSREQUEST']._serialized_start=5214 + _globals['_USERACCESSLOWEREDEVENTSREQUEST']._serialized_end=5294 # @@protoc_insertion_point(module_scope) diff --git a/keepersdk-package/src/keepersdk/proto/router_pb2.pyi b/keepersdk-package/src/keepersdk/proto/router_pb2.pyi index 92d676da..830944e2 100644 --- a/keepersdk-package/src/keepersdk/proto/router_pb2.pyi +++ b/keepersdk-package/src/keepersdk/proto/router_pb2.pyi @@ -1,6 +1,6 @@ -import pam_pb2 as _pam_pb2 -import APIRequest_pb2 as _APIRequest_pb2 -import folder_pb2 as _folder_pb2 +from . import pam_pb2 as _pam_pb2 +from . import APIRequest_pb2 as _APIRequest_pb2 +from . import folder_pb2 as _folder_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor @@ -43,6 +43,14 @@ class ServiceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): UNSPECIFIED: _ClassVar[ServiceType] KA: _ClassVar[ServiceType] BI: _ClassVar[ServiceType] + +class UserAccessLoweredEventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + UALE_UNSPECIFIED: _ClassVar[UserAccessLoweredEventType] + UALE_DEVICE_LOGOUT: _ClassVar[UserAccessLoweredEventType] + UALE_USER_LOGOUT_ALL_DEVICES: _ClassVar[UserAccessLoweredEventType] + UALE_ENFORCEMENT_REMOVED: _ClassVar[UserAccessLoweredEventType] + UALE_RECORD_ACCESS_LOST: _ClassVar[UserAccessLoweredEventType] RRC_OK: RouterResponseCode RRC_GENERAL_ERROR: RouterResponseCode RRC_NOT_ALLOWED: RouterResponseCode @@ -66,6 +74,11 @@ RRAL_OWNER: UserRecordAccessLevel UNSPECIFIED: ServiceType KA: ServiceType BI: ServiceType +UALE_UNSPECIFIED: UserAccessLoweredEventType +UALE_DEVICE_LOGOUT: UserAccessLoweredEventType +UALE_USER_LOGOUT_ALL_DEVICES: UserAccessLoweredEventType +UALE_ENFORCEMENT_REMOVED: UserAccessLoweredEventType +UALE_RECORD_ACCESS_LOST: UserAccessLoweredEventType class RouterResponse(_message.Message): __slots__ = ("responseCode", "errorMessage", "encryptedPayload") @@ -94,7 +107,7 @@ class RouterControllerMessage(_message.Message): def __init__(self, messageType: _Optional[_Union[_pam_pb2.ControllerMessageType, str]] = ..., messageUid: _Optional[bytes] = ..., controllerUid: _Optional[bytes] = ..., streamResponse: bool = ..., payload: _Optional[bytes] = ..., timeout: _Optional[int] = ...) -> None: ... class RouterUserAuth(_message.Message): - __slots__ = ("transmissionKey", "sessionToken", "userId", "enterpriseUserId", "deviceName", "deviceToken", "clientVersionId", "needUsername", "username", "mspEnterpriseId", "isPedmAdmin", "mcEnterpriseId") + __slots__ = ("transmissionKey", "sessionToken", "userId", "enterpriseUserId", "deviceName", "deviceToken", "clientVersionId", "needUsername", "username", "mspEnterpriseId", "isPedmAdmin", "mcEnterpriseId", "deviceId") TRANSMISSIONKEY_FIELD_NUMBER: _ClassVar[int] SESSIONTOKEN_FIELD_NUMBER: _ClassVar[int] USERID_FIELD_NUMBER: _ClassVar[int] @@ -107,6 +120,7 @@ class RouterUserAuth(_message.Message): MSPENTERPRISEID_FIELD_NUMBER: _ClassVar[int] ISPEDMADMIN_FIELD_NUMBER: _ClassVar[int] MCENTERPRISEID_FIELD_NUMBER: _ClassVar[int] + DEVICEID_FIELD_NUMBER: _ClassVar[int] transmissionKey: bytes sessionToken: bytes userId: int @@ -119,7 +133,8 @@ class RouterUserAuth(_message.Message): mspEnterpriseId: int isPedmAdmin: bool mcEnterpriseId: int - def __init__(self, transmissionKey: _Optional[bytes] = ..., sessionToken: _Optional[bytes] = ..., userId: _Optional[int] = ..., enterpriseUserId: _Optional[int] = ..., deviceName: _Optional[str] = ..., deviceToken: _Optional[bytes] = ..., clientVersionId: _Optional[int] = ..., needUsername: bool = ..., username: _Optional[str] = ..., mspEnterpriseId: _Optional[int] = ..., isPedmAdmin: bool = ..., mcEnterpriseId: _Optional[int] = ...) -> None: ... + deviceId: int + def __init__(self, transmissionKey: _Optional[bytes] = ..., sessionToken: _Optional[bytes] = ..., userId: _Optional[int] = ..., enterpriseUserId: _Optional[int] = ..., deviceName: _Optional[str] = ..., deviceToken: _Optional[bytes] = ..., clientVersionId: _Optional[int] = ..., needUsername: bool = ..., username: _Optional[str] = ..., mspEnterpriseId: _Optional[int] = ..., isPedmAdmin: bool = ..., mcEnterpriseId: _Optional[int] = ..., deviceId: _Optional[int] = ...) -> None: ... class RouterDeviceAuth(_message.Message): __slots__ = ("clientId", "clientVersion", "signature", "enterpriseId", "nodeId", "deviceName", "deviceToken", "controllerName", "controllerUid", "ownerUser", "challenge", "ownerId", "maxInstanceCount") @@ -182,7 +197,7 @@ class RouterRecordRotationsResponse(_message.Message): def __init__(self, rotations: _Optional[_Iterable[_Union[RouterRecordRotation, _Mapping]]] = ..., hasMore: bool = ...) -> None: ... class RouterRotationInfo(_message.Message): - __slots__ = ("status", "configurationUid", "resourceUid", "nodeId", "controllerUid", "controllerName", "scriptName", "pwdComplexity", "disabled") + __slots__ = ("status", "configurationUid", "resourceUid", "nodeId", "controllerUid", "controllerName", "scriptName", "pwdComplexity", "disabled", "scripts") STATUS_FIELD_NUMBER: _ClassVar[int] CONFIGURATIONUID_FIELD_NUMBER: _ClassVar[int] RESOURCEUID_FIELD_NUMBER: _ClassVar[int] @@ -192,6 +207,7 @@ class RouterRotationInfo(_message.Message): SCRIPTNAME_FIELD_NUMBER: _ClassVar[int] PWDCOMPLEXITY_FIELD_NUMBER: _ClassVar[int] DISABLED_FIELD_NUMBER: _ClassVar[int] + SCRIPTS_FIELD_NUMBER: _ClassVar[int] status: RouterRotationStatus configurationUid: bytes resourceUid: bytes @@ -201,10 +217,11 @@ class RouterRotationInfo(_message.Message): scriptName: str pwdComplexity: str disabled: bool - def __init__(self, status: _Optional[_Union[RouterRotationStatus, str]] = ..., configurationUid: _Optional[bytes] = ..., resourceUid: _Optional[bytes] = ..., nodeId: _Optional[int] = ..., controllerUid: _Optional[bytes] = ..., controllerName: _Optional[str] = ..., scriptName: _Optional[str] = ..., pwdComplexity: _Optional[str] = ..., disabled: bool = ...) -> None: ... + scripts: _containers.RepeatedScalarFieldContainer[bytes] + def __init__(self, status: _Optional[_Union[RouterRotationStatus, str]] = ..., configurationUid: _Optional[bytes] = ..., resourceUid: _Optional[bytes] = ..., nodeId: _Optional[int] = ..., controllerUid: _Optional[bytes] = ..., controllerName: _Optional[str] = ..., scriptName: _Optional[str] = ..., pwdComplexity: _Optional[str] = ..., disabled: bool = ..., scripts: _Optional[_Iterable[bytes]] = ...) -> None: ... class RouterRecordRotationRequest(_message.Message): - __slots__ = ("recordUid", "revision", "configurationUid", "resourceUid", "schedule", "enterpriseUserId", "pwdComplexity", "disabled", "remoteAddress", "clientVersionId", "noop", "saasConfiguration") + __slots__ = ("recordUid", "revision", "configurationUid", "resourceUid", "schedule", "enterpriseUserId", "pwdComplexity", "disabled", "remoteAddress", "clientVersionId", "noop", "saasConfiguration", "updateServices", "serviceResources") RECORDUID_FIELD_NUMBER: _ClassVar[int] REVISION_FIELD_NUMBER: _ClassVar[int] CONFIGURATIONUID_FIELD_NUMBER: _ClassVar[int] @@ -217,6 +234,8 @@ class RouterRecordRotationRequest(_message.Message): CLIENTVERSIONID_FIELD_NUMBER: _ClassVar[int] NOOP_FIELD_NUMBER: _ClassVar[int] SAASCONFIGURATION_FIELD_NUMBER: _ClassVar[int] + UPDATESERVICES_FIELD_NUMBER: _ClassVar[int] + SERVICERESOURCES_FIELD_NUMBER: _ClassVar[int] recordUid: bytes revision: int configurationUid: bytes @@ -229,7 +248,9 @@ class RouterRecordRotationRequest(_message.Message): clientVersionId: int noop: bool saasConfiguration: bytes - def __init__(self, recordUid: _Optional[bytes] = ..., revision: _Optional[int] = ..., configurationUid: _Optional[bytes] = ..., resourceUid: _Optional[bytes] = ..., schedule: _Optional[str] = ..., enterpriseUserId: _Optional[int] = ..., pwdComplexity: _Optional[bytes] = ..., disabled: bool = ..., remoteAddress: _Optional[str] = ..., clientVersionId: _Optional[int] = ..., noop: bool = ..., saasConfiguration: _Optional[bytes] = ...) -> None: ... + updateServices: bool + serviceResources: _pam_pb2.UidList + def __init__(self, recordUid: _Optional[bytes] = ..., revision: _Optional[int] = ..., configurationUid: _Optional[bytes] = ..., resourceUid: _Optional[bytes] = ..., schedule: _Optional[str] = ..., enterpriseUserId: _Optional[int] = ..., pwdComplexity: _Optional[bytes] = ..., disabled: bool = ..., remoteAddress: _Optional[str] = ..., clientVersionId: _Optional[int] = ..., noop: bool = ..., saasConfiguration: _Optional[bytes] = ..., updateServices: bool = ..., serviceResources: _Optional[_Union[_pam_pb2.UidList, _Mapping]] = ...) -> None: ... class UserRecordAccessRequest(_message.Message): __slots__ = ("userId", "recordUid") @@ -240,12 +261,14 @@ class UserRecordAccessRequest(_message.Message): def __init__(self, userId: _Optional[int] = ..., recordUid: _Optional[bytes] = ...) -> None: ... class UserRecordAccessResponse(_message.Message): - __slots__ = ("recordUid", "accessLevel") + __slots__ = ("recordUid", "accessLevel", "isShareAdmin") RECORDUID_FIELD_NUMBER: _ClassVar[int] ACCESSLEVEL_FIELD_NUMBER: _ClassVar[int] + ISSHAREADMIN_FIELD_NUMBER: _ClassVar[int] recordUid: bytes accessLevel: UserRecordAccessLevel - def __init__(self, recordUid: _Optional[bytes] = ..., accessLevel: _Optional[_Union[UserRecordAccessLevel, str]] = ...) -> None: ... + isShareAdmin: bool + def __init__(self, recordUid: _Optional[bytes] = ..., accessLevel: _Optional[_Union[UserRecordAccessLevel, str]] = ..., isShareAdmin: bool = ...) -> None: ... class UserRecordAccessRequests(_message.Message): __slots__ = ("requests",) @@ -281,6 +304,28 @@ class UserSharedFolderAccessResponses(_message.Message): responses: _containers.RepeatedCompositeFieldContainer[UserSharedFolderAccessResponse] def __init__(self, responses: _Optional[_Iterable[_Union[UserSharedFolderAccessResponse, _Mapping]]] = ...) -> None: ... +class UserFolderPermissionsRequest(_message.Message): + __slots__ = ("userId", "folderUid") + USERID_FIELD_NUMBER: _ClassVar[int] + FOLDERUID_FIELD_NUMBER: _ClassVar[int] + userId: int + folderUid: _containers.RepeatedScalarFieldContainer[bytes] + def __init__(self, userId: _Optional[int] = ..., folderUid: _Optional[_Iterable[bytes]] = ...) -> None: ... + +class UserFolderPermissionsResponse(_message.Message): + __slots__ = ("folderUid", "permissions") + FOLDERUID_FIELD_NUMBER: _ClassVar[int] + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + folderUid: bytes + permissions: _folder_pb2.FolderPermissions + def __init__(self, folderUid: _Optional[bytes] = ..., permissions: _Optional[_Union[_folder_pb2.FolderPermissions, _Mapping]] = ...) -> None: ... + +class UserFolderPermissionsResponses(_message.Message): + __slots__ = ("responses",) + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[UserFolderPermissionsResponse] + def __init__(self, responses: _Optional[_Iterable[_Union[UserFolderPermissionsResponse, _Mapping]]] = ...) -> None: ... + class RotationSchedule(_message.Message): __slots__ = ("record_uid", "schedule") RECORD_UID_FIELD_NUMBER: _ClassVar[int] @@ -400,10 +445,14 @@ class GetPEDMAdminInfoResponse(_message.Message): def __init__(self, isPedmAdmin: bool = ..., pedmAddonActive: bool = ...) -> None: ... class PAMNetworkSettings(_message.Message): - __slots__ = ("allowedSettings",) + __slots__ = ("allowedSettings", "idpConfigUid", "adminUid") ALLOWEDSETTINGS_FIELD_NUMBER: _ClassVar[int] + IDPCONFIGUID_FIELD_NUMBER: _ClassVar[int] + ADMINUID_FIELD_NUMBER: _ClassVar[int] allowedSettings: bytes - def __init__(self, allowedSettings: _Optional[bytes] = ...) -> None: ... + idpConfigUid: bytes + adminUid: bytes + def __init__(self, allowedSettings: _Optional[bytes] = ..., idpConfigUid: _Optional[bytes] = ..., adminUid: _Optional[bytes] = ...) -> None: ... class PAMNetworkConfigurationRequest(_message.Message): __slots__ = ("recordUid", "networkSettings", "resources", "rotations") @@ -428,14 +477,16 @@ class PAMDiscoveryRulesSetRequest(_message.Message): def __init__(self, networkUid: _Optional[bytes] = ..., rules: _Optional[bytes] = ..., rulesKey: _Optional[bytes] = ...) -> None: ... class Router2FAValidateRequest(_message.Message): - __slots__ = ("transmissionKey", "sessionToken", "value") + __slots__ = ("transmissionKey", "sessionToken", "value", "challengeToken") TRANSMISSIONKEY_FIELD_NUMBER: _ClassVar[int] SESSIONTOKEN_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] + CHALLENGETOKEN_FIELD_NUMBER: _ClassVar[int] transmissionKey: bytes sessionToken: bytes value: str - def __init__(self, transmissionKey: _Optional[bytes] = ..., sessionToken: _Optional[bytes] = ..., value: _Optional[str] = ...) -> None: ... + challengeToken: bytes + def __init__(self, transmissionKey: _Optional[bytes] = ..., sessionToken: _Optional[bytes] = ..., value: _Optional[str] = ..., challengeToken: _Optional[bytes] = ...) -> None: ... class Router2FASendPushRequest(_message.Message): __slots__ = ("transmissionKey", "sessionToken", "pushType") @@ -456,12 +507,14 @@ class Router2FAGetWebAuthnChallengeRequest(_message.Message): def __init__(self, transmissionKey: _Optional[bytes] = ..., sessionToken: _Optional[bytes] = ...) -> None: ... class Router2FAGetWebAuthnChallengeResponse(_message.Message): - __slots__ = ("challenge", "capabilities") + __slots__ = ("challenge", "capabilities", "challengeToken") CHALLENGE_FIELD_NUMBER: _ClassVar[int] CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + CHALLENGETOKEN_FIELD_NUMBER: _ClassVar[int] challenge: str capabilities: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, challenge: _Optional[str] = ..., capabilities: _Optional[_Iterable[str]] = ...) -> None: ... + challengeToken: bytes + def __init__(self, challenge: _Optional[str] = ..., capabilities: _Optional[_Iterable[str]] = ..., challengeToken: _Optional[bytes] = ...) -> None: ... class CreateEphemeralSecretRequest(_message.Message): __slots__ = ("encryptedSecret", "secretKeyHash", "ttl") @@ -472,3 +525,23 @@ class CreateEphemeralSecretRequest(_message.Message): secretKeyHash: bytes ttl: int def __init__(self, encryptedSecret: _Optional[bytes] = ..., secretKeyHash: _Optional[bytes] = ..., ttl: _Optional[int] = ...) -> None: ... + +class UserAccessLoweredEvent(_message.Message): + __slots__ = ("eventType", "enterpriseUserIds", "recordUids", "deviceId", "enforcementTypeId") + EVENTTYPE_FIELD_NUMBER: _ClassVar[int] + ENTERPRISEUSERIDS_FIELD_NUMBER: _ClassVar[int] + RECORDUIDS_FIELD_NUMBER: _ClassVar[int] + DEVICEID_FIELD_NUMBER: _ClassVar[int] + ENFORCEMENTTYPEID_FIELD_NUMBER: _ClassVar[int] + eventType: UserAccessLoweredEventType + enterpriseUserIds: _containers.RepeatedScalarFieldContainer[int] + recordUids: _containers.RepeatedScalarFieldContainer[bytes] + deviceId: int + enforcementTypeId: int + def __init__(self, eventType: _Optional[_Union[UserAccessLoweredEventType, str]] = ..., enterpriseUserIds: _Optional[_Iterable[int]] = ..., recordUids: _Optional[_Iterable[bytes]] = ..., deviceId: _Optional[int] = ..., enforcementTypeId: _Optional[int] = ...) -> None: ... + +class UserAccessLoweredEventsRequest(_message.Message): + __slots__ = ("events",) + EVENTS_FIELD_NUMBER: _ClassVar[int] + events: _containers.RepeatedCompositeFieldContainer[UserAccessLoweredEvent] + def __init__(self, events: _Optional[_Iterable[_Union[UserAccessLoweredEvent, _Mapping]]] = ...) -> None: ... From 44495a6d7e8fb8f4f463507fc966f6a9ff4a7e4c Mon Sep 17 00:00:00 2001 From: Manan Tyagi Date: Wed, 15 Jul 2026 15:59:55 +0530 Subject: [PATCH 3/6] pam config edit and new --- .../src/keepercli/commands/pam/pam_config.py | 160 +++++++++++++++--- 1 file changed, 134 insertions(+), 26 deletions(-) diff --git a/keepercli-package/src/keepercli/commands/pam/pam_config.py b/keepercli-package/src/keepercli/commands/pam/pam_config.py index 546efc26..8ff747a3 100644 --- a/keepercli-package/src/keepercli/commands/pam/pam_config.py +++ b/keepercli-package/src/keepercli/commands/pam/pam_config.py @@ -12,7 +12,9 @@ from keepersdk import utils from keepersdk.proto import pam_pb2, record_pb2 from keepersdk.helpers import config_utils -from keepersdk.vault import vault_online, vault_utils, vault_record, record_management, nsf_management +from keepersdk.vault import ( + vault_online, vault_utils, vault_record, record_management, nsf_management, vault_extensions, +) from keepersdk.helpers.pam_config_facade import PamConfigurationRecordFacade from keepersdk.helpers.tunnel.tunnel_graph import TunnelDAG, TriStateSetting, tunnel_utils from keepersdk.helpers.keeper_dag import dag_utils @@ -521,20 +523,30 @@ def _parse_shared_folder_uid(self, vault: vault_online.VaultOnline, record: vaul if shared_folder_uid: value['folderUid'] = shared_folder_uid else: - raise base.CommandError('Shared Folder not found') + raise base.CommandError('Shared Folder or NSF folder not found') def _find_shared_folder_by_name_or_uid(self, vault: vault_online.VaultOnline, folder_name: str): - """Finds a shared folder by UID or name.""" + """Finds a classic shared folder or NSF folder by UID or exact name.""" shared_folder_cache = vault.vault_data._shared_folders - + if folder_name in shared_folder_cache: return folder_name - + for sf_uid in shared_folder_cache: sf = vault.vault_data.load_shared_folder(sf_uid) if sf and sf.name.casefold() == folder_name.casefold(): return sf_uid - + + if vault.nsf_data is None: + return None + try: + nsf_uid = nsf_management.resolve_nsf_folder_uid(vault, folder_name) + except nsf_management.NsfError: + nsf_uid = None + if nsf_uid and nsf_management.is_nsf_folder(vault, nsf_uid): + return nsf_uid + if nsf_management.is_nsf_folder(vault, folder_name): + return folder_name return None def _get_existing_shared_folder_uid(self, record: vault_record.TypedRecord): @@ -846,8 +858,8 @@ def _configure_tunneling(self, vault: vault_online.VaultOnline, record: vault_re common_parser.add_argument('--title', '-t', dest='title', action='store', help='Title of the PAM Configuration') common_parser.add_argument('--gateway', '-g', dest='gateway_uid', action='store', help='Gateway UID or Name') common_parser.add_argument('--shared-folder', '-sf', dest='shared_folder_uid', action='store', - help='Share Folder where this PAM Configuration is stored. Should be one of the folders to ' - 'which the gateway has access to.') + help='Classic shared folder or NSF / Keeper Drive folder (UID or name) where this PAM ' + 'Configuration is stored. Should be a folder the gateway can access.') common_parser.add_argument('--schedule', '-sc', dest='default_schedule', action='store', help='Default Schedule: Use CRON syntax') common_parser.add_argument('--port-mapping', '-pm', dest='port_mapping', action='append', help='Port Mapping') @@ -1034,17 +1046,41 @@ def _warn_if_gateway_missing(self, gateway_uid: str, kwargs: dict): def _create_and_configure_record(self, vault: vault_online.VaultOnline, record: vault_record.TypedRecord, shared_folder_uid: str, gateway_uid: str, admin_cred_ref: str, kwargs: dict): """Creates the record and configures tunneling, DAG, and controller.""" - config_utils.pam_configuration_create_record_v6(vault, record, shared_folder_uid) - + if vault.nsf_data is not None and nsf_management.is_nsf_folder(vault, shared_folder_uid): + self._create_nsf_pam_configuration(vault, record, shared_folder_uid) + else: + config_utils.pam_configuration_create_record_v6(vault, record, shared_folder_uid) + self._configure_tunneling(vault, record, admin_cred_ref, kwargs) + vault.sync_down() + record_management.move_vault_objects(vault, [record.record_uid], shared_folder_uid) + vault.sync_down() + if gateway_uid: + self._set_configuration_controller(vault, record.record_uid, gateway_uid) + return + self._configure_tunneling(vault, record, admin_cred_ref, kwargs) - - vault.sync_down() - record_management.move_vault_objects(vault, [record.record_uid], shared_folder_uid) vault.sync_down() - if gateway_uid: self._set_configuration_controller(vault, record.record_uid, gateway_uid) + def _create_nsf_pam_configuration(self, vault: vault_online.VaultOnline, record: vault_record.TypedRecord, + nsf_folder_uid: str): + """Create a PAM configuration record inside an NSF / Keeper Drive folder.""" + schema = vault.vault_data.get_record_type_by_name(record.record_type) + record_data = vault_extensions.extract_typed_record_data(record, schema) + try: + result = nsf_management.create_nsf_record( + vault, + title=record.title, + record_type=record.record_type, + folder_uid=nsf_folder_uid, + record_data=record_data, + request_sync=True, + ) + except nsf_management.NsfError as e: + raise base.CommandError(str(e)) from e + record.record_uid = result.record_uid + def _set_configuration_controller(self, vault: vault_online.VaultOnline, config_uid: str, gateway_uid: str): """Sets the controller for the PAM configuration.""" pcc = pam_pb2.PAMConfigurationController() @@ -1089,8 +1125,8 @@ def execute(self, context: KeeperParams, **kwargs): self._validate_vault(context) vault = context.vault - configuration = self._find_configuration(vault, kwargs.get('uid')) - self._validate_configuration(vault, configuration, kwargs.get('uid')) + configuration, is_nsf = self._find_configuration(vault, kwargs.get('uid')) + self._validate_configuration(vault, configuration, kwargs.get('uid'), is_nsf=is_nsf) self._update_record_type_if_needed(vault, configuration, kwargs) self._update_title_if_provided(configuration, kwargs) @@ -1099,8 +1135,12 @@ def execute(self, context: KeeperParams, **kwargs): self.parse_properties(vault, configuration, **kwargs) self.verify_required(configuration) - record_management.update_record(vault, configuration) - self._update_controller_and_folder_if_changed(vault, configuration, orig_gateway_uid, orig_shared_folder_uid) + if is_nsf: + self._update_nsf_configuration(vault, configuration) + else: + record_management.update_record(vault, configuration) + self._update_controller_and_folder_if_changed( + vault, configuration, orig_gateway_uid, orig_shared_folder_uid, is_nsf=is_nsf) target_keys = { 'connections', 'tunneling', 'rotation', 'recording', @@ -1125,14 +1165,18 @@ def _validate_vault(self, context: KeeperParams): raise base.CommandError('Vault is not initialized. Login to initialize the vault.') def _find_configuration(self, vault: vault_online.VaultOnline, config_name: str): - """Finds a PAM configuration by UID or name.""" + """Finds a PAM configuration by UID or name (classic vault or NSF). + + Returns: + (TypedRecord, is_nsf) or (None, False) when not found. + """ if not config_name: - return None + return None, False info = vault.vault_data.get_record(config_name) if info and info.version == 6 and info.record_type in PAM_CONFIGURATIONS: loaded = vault.vault_data.load_record(config_name) if loaded and isinstance(loaded, vault_record.TypedRecord): - return loaded + return loaded, False name_lower = config_name.casefold() for record in vault.vault_data.find_records( criteria=None, @@ -1141,20 +1185,75 @@ def _find_configuration(self, vault: vault_online.VaultOnline, config_name: str) if record.record_uid == config_name or record.title.casefold() == name_lower: loaded = vault.vault_data.load_record(record.record_uid) if loaded and isinstance(loaded, vault_record.TypedRecord): - return loaded - return None + return loaded, False + + nsf_record = self._load_nsf_pam_configuration_for_edit(vault, config_name) + if nsf_record: + return nsf_record, True + return None, False - def _validate_configuration(self, vault: vault_online.VaultOnline, configuration, config_name: str): - """Validates that the configuration exists and is a v6 PAM config in the vault index.""" + def _load_nsf_pam_configuration_for_edit(self, vault: vault_online.VaultOnline, identifier: str): + """Load a PAM configuration from NSF by UID or exact title.""" + if not vault.nsf_data or not identifier: + return None + record_uid = identifier + if not vault.nsf_data.get_record(record_uid): + try: + record_uid = nsf_management.resolve_nsf_record_uid(vault, identifier) + except nsf_management.NsfError: + record_uid = None + if not record_uid: + return None + try: + meta = nsf_management.load_nsf_record_metadata(vault, record_uid) + except nsf_management.NsfError: + return None + rec_type = meta.get('type') or '' + if rec_type not in PAM_CONFIGURATIONS: + return None + typed = vault_record.TypedRecord() + typed.record_uid = record_uid + typed.load_record_data({ + 'type': rec_type, + 'title': meta.get('title') or record_uid, + 'notes': meta.get('notes') or '', + 'fields': meta.get('fields') or [], + 'custom': meta.get('custom') or [], + }) + return typed + + def _validate_configuration(self, vault: vault_online.VaultOnline, configuration, config_name: str, + *, is_nsf: bool = False): + """Validates that the configuration exists and is a PAM config.""" if not configuration: raise base.CommandError(f'PAM configuration "{config_name}" not found') if not isinstance(configuration, vault_record.TypedRecord): raise base.CommandError(f'PAM configuration "{config_name}" not found') + if is_nsf: + if configuration.record_type not in PAM_CONFIGURATIONS: + raise base.CommandError(f'PAM configuration "{config_name}" not found') + return # Storage format is on KeeperRecordInfo, not TypedRecord.version() (that method returns 3). info = vault.vault_data.get_record(configuration.record_uid) if not info or info.version != 6 or info.record_type not in PAM_CONFIGURATIONS: raise base.CommandError(f'PAM configuration "{config_name}" not found') + def _update_nsf_configuration(self, vault: vault_online.VaultOnline, configuration: vault_record.TypedRecord): + """Persist PAM configuration field edits to an NSF record.""" + schema = vault.vault_data.get_record_type_by_name(configuration.record_type) + record_data = vault_extensions.extract_typed_record_data(configuration, schema) + try: + nsf_management.update_nsf_record( + vault, + configuration.record_uid, + title=configuration.title, + record_type=configuration.record_type, + record_data=record_data, + request_sync=True, + ) + except nsf_management.NsfError as e: + raise base.CommandError(str(e)) from e + def _update_record_type_if_needed(self, vault: vault_online.VaultOnline, configuration: vault_record.TypedRecord, kwargs: dict): """Updates the record type if config_type is provided and different.""" @@ -1190,7 +1289,8 @@ def _get_original_values(self, configuration: vault_record.TypedRecord): def _update_controller_and_folder_if_changed(self, vault: vault_online.VaultOnline, configuration: vault_record.TypedRecord, - orig_gateway_uid: str, orig_shared_folder_uid: str): + orig_gateway_uid: str, orig_shared_folder_uid: str, + *, is_nsf: bool = False): """Updates controller and shared folder if they changed.""" field = configuration.get_typed_field('pamResources') value = field.get_default_value(dict) @@ -1203,6 +1303,14 @@ def _update_controller_and_folder_if_changed(self, vault: vault_online.VaultOnli shared_folder_uid = value.get('folderUid') or '' if shared_folder_uid != orig_shared_folder_uid: + dest_is_nsf = ( + vault.nsf_data is not None + and nsf_management.is_nsf_folder(vault, shared_folder_uid) + ) + if is_nsf or dest_is_nsf: + raise base.CommandError( + 'Moving PAM configurations into or between NSF folders is not supported yet. ' + 'Create a new configuration in the target folder instead.') record_management.move_vault_objects(vault, [configuration.record_uid], shared_folder_uid) def _set_configuration_controller(self, vault: vault_online.VaultOnline, config_uid: str, gateway_uid: str): From 23406867bbc82412319174a688cc36541bfe99d3 Mon Sep 17 00:00:00 2001 From: Manan Tyagi Date: Fri, 17 Jul 2026 10:45:37 +0530 Subject: [PATCH 4/6] rotatoin nsf support and removal of dual sync down call for record rotations --- .../keepercli/commands/pam/pam_rotation.py | 216 +++++++++++++----- keepercli-package/src/keepercli/params.py | 78 ++++++- .../src/keepersdk/plugins/pam/pam_plugin.py | 67 +++--- .../src/keepersdk/plugins/pam/pam_storage.py | 35 ++- .../src/keepersdk/vault/nsf_sync.py | 17 +- .../src/keepersdk/vault/sync_down.py | 19 +- .../src/keepersdk/vault/vault_online.py | 39 ++++ 7 files changed, 367 insertions(+), 104 deletions(-) diff --git a/keepercli-package/src/keepercli/commands/pam/pam_rotation.py b/keepercli-package/src/keepercli/commands/pam/pam_rotation.py index c303be5b..ab83c7cf 100644 --- a/keepercli-package/src/keepercli/commands/pam/pam_rotation.py +++ b/keepercli-package/src/keepercli/commands/pam/pam_rotation.py @@ -4,11 +4,22 @@ import argparse import re +from typing import Optional + from keepersdk import crypto, utils from keepersdk.errors import KeeperApiError from keepersdk.helpers.tunnel.tunnel_graph import TunnelDAG from keepersdk.helpers.tunnel.tunnel_utils import get_keeper_tokens -from keepersdk.vault import record_management, vault_record, vault_types, vault_utils, record_facades, attachment +from keepersdk.vault import ( + nsf_management, + record_management, + vault_online, + vault_record, + vault_types, + vault_utils, + record_facades, + attachment, +) from keepersdk.proto import pam_pb2, router_pb2 from .. import base @@ -25,6 +36,86 @@ PAM_DEFAULT_SPECIAL_CHAR = '''!@#$%^?();',.=+[]<>{}-_/\\*&:"`~|''' +_PAM_ROTATION_RECORD_TYPES = ( + 'pamDatabase', 'pamDirectory', 'pamMachine', 'pamUser', 'pamRemoteBrowser', +) + + +def _resolve_nsf_record_uid(vault: vault_online.VaultOnline, identifier: str) -> Optional[str]: + """Resolve an NSF record UID from a UID or exact title.""" + if not vault.nsf_data or not identifier: + return None + if vault.nsf_data.get_record(identifier): + return identifier + try: + return nsf_management.resolve_nsf_record_uid(vault, identifier) + except nsf_management.NsfError: + return None + + +def _load_nsf_typed_record( + vault: vault_online.VaultOnline, record_uid: str) -> Optional[vault_record.TypedRecord]: + """Load an NSF record as TypedRecord (with record_key when available).""" + if not vault.nsf_data or not record_uid or not vault.nsf_data.get_record(record_uid): + return None + try: + meta = nsf_management.load_nsf_record_metadata(vault, record_uid) + except nsf_management.NsfError: + return None + typed = vault_record.TypedRecord() + typed.record_uid = record_uid + typed.load_record_data({ + 'type': meta.get('type') or '', + 'title': meta.get('title') or record_uid, + 'notes': meta.get('notes') or '', + 'fields': meta.get('fields') or [], + 'custom': meta.get('custom') or [], + }) + entry = vault.nsf_data.get_record(record_uid) + if entry and entry.record_key: + typed.record_key = entry.record_key + return typed + + +def _load_pam_typed_record( + vault: vault_online.VaultOnline, identifier: str) -> Optional[vault_record.TypedRecord]: + """Load a TypedRecord from classic vault or NSF by UID/title.""" + if not identifier: + return None + loaded = vault.vault_data.load_record(identifier) + if loaded and isinstance(loaded, vault_record.TypedRecord): + key = vault.vault_data.get_record_key(identifier) + if key: + loaded.record_key = key + return loaded + nsf_uid = _resolve_nsf_record_uid(vault, identifier) + if nsf_uid: + return _load_nsf_typed_record(vault, nsf_uid) + return None + + +def _iter_nsf_pam_configurations(vault: vault_online.VaultOnline): + """Yield NSF PAM configuration TypedRecords.""" + if not vault.nsf_data: + return + for entry in vault.nsf_data.records(): + typed = _load_nsf_typed_record(vault, entry.record_uid) + if typed and typed.record_type in PAM_CONFIGURATIONS: + yield typed + + +def _attach_record_key(vault: vault_online.VaultOnline, record: vault_record.TypedRecord) -> None: + """Ensure TypedRecord has record_key from classic or NSF storage when possible.""" + if getattr(record, 'record_key', None): + return + key = vault.vault_data.get_record_key(record.record_uid) + if not key and vault.nsf_data: + entry = vault.nsf_data.get_record(record.record_uid) + if entry: + key = entry.record_key + if key: + record.record_key = key + class PAMListRecordRotationCommand(base.ArgparseCommand): def __init__(self): @@ -59,7 +150,12 @@ def execute(self, context: KeeperParams, **kwargs): else: enterprise_controllers_connected_uids_bytes = [] - all_pam_config_records = record_utils.pam_configurations_get_all(vault) + all_pam_config_records = list(record_utils.pam_configurations_get_all(vault)) + seen_config_uids = {c.record_uid for c in all_pam_config_records} + for nsf_cfg in _iter_nsf_pam_configurations(vault): + if nsf_cfg.record_uid not in seen_config_uids: + all_pam_config_records.append(nsf_cfg) + seen_config_uids.add(nsf_cfg.record_uid) table = [] headers = [] @@ -89,6 +185,10 @@ def execute(self, context: KeeperParams, **kwargs): (pam_config for pam_config in all_pam_config_records if pam_config.record_uid == configuration_uid_str), None) + if not pam_configuration and configuration_uid_str: + nsf_cfg = _load_nsf_typed_record(vault, configuration_uid_str) + if nsf_cfg and nsf_cfg.record_type in PAM_CONFIGURATIONS: + pam_configuration = nsf_cfg is_controller_online = any( (poc for poc in enterprise_controllers_connected_uids_bytes if poc == controller_uid)) @@ -99,8 +199,13 @@ def execute(self, context: KeeperParams, **kwargs): record_title = rec.info.title record_type = rec.info.record_type else: - record_title = '[record inaccessible]' - record_type = '[record inaccessible]' + nsf_rec = _load_nsf_typed_record(vault, record_uid) + if nsf_rec: + record_title = nsf_rec.title + record_type = nsf_rec.record_type + else: + record_title = '[record inaccessible]' + record_type = '[record inaccessible]' if record_type != "pamUser": continue @@ -310,7 +415,7 @@ def config_resource(_dag, target_record, target_config_uid, silent=None): _dag.link_resource_to_config(target_record.record_uid) admin = kwargs.get('admin') - adm_rec = vault.vault_data.load_record(admin) + adm_rec = _load_pam_typed_record(vault, admin) if admin else None if adm_rec and isinstance(adm_rec, vault_record.TypedRecord): admin = adm_rec.record_uid @@ -428,13 +533,14 @@ def config_iam_aad_user(_dag, target_record, target_iam_aad_config_uid): if not record_config_uid: if current_record_rotation: record_config_uid = current_record_rotation.configuration_uid - pc = vault.vault_data.load_record(record_config_uid) + pc = pam_configurations.get(record_config_uid) or _load_pam_typed_record( + vault, record_config_uid) if pc is None: skipped_records.append( [target_record.record_uid, target_record.title, 'PAM Configuration was deleted', 'Specify a configuration UID parameter [--config]']) return - if not isinstance(pc, vault_record.TypedRecord) or pc.version != 6: + if not isinstance(pc, vault_record.TypedRecord) or pc.record_type not in PAM_CONFIGURATIONS: skipped_records.append( [target_record.record_uid, target_record.title, 'PAM Configuration is invalid', 'Specify a configuration UID parameter [--config]']) @@ -702,13 +808,14 @@ def config_user(_dag, target_record, target_resource_uid, target_config_uid=None if not record_config_uid: if current_record_rotation: record_config_uid = current_record_rotation.configuration_uid - pc = vault.vault_data.load_record(record_config_uid) + pc = pam_configurations.get(record_config_uid) or _load_pam_typed_record( + vault, record_config_uid) if pc is None: skipped_records.append( [target_record.record_uid, target_record.title, 'PAM Configuration was deleted', 'Specify a configuration UID parameter [--config]']) return - if not isinstance(pc, vault_record.TypedRecord) or pc.version != 6: + if not isinstance(pc, vault_record.TypedRecord) or pc.record_type not in PAM_CONFIGURATIONS: skipped_records.append( [target_record.record_uid, target_record.title, 'PAM Configuration is invalid', 'Specify a configuration UID parameter [--config]']) @@ -832,19 +939,23 @@ def config_user(_dag, target_record, target_resource_uid, target_config_uid=None elif vault.vault_data.load_record(record_name): record_uids.add(record_name) else: - rs = folder_utils.try_resolve_path(context, record_name) - if rs is not None: - folder, record_title = rs - if record_title: - record_pattern = record_title - if isinstance(folder, vault_types.Folder): - folder_uids.add(folder.folder_uid) - elif isinstance(folder, list): - for f in folder: - if isinstance(f, vault_types.Folder): - folder_uids.add(f.folder_uid) - else: - logger.warning('Record \"%s\" not found. Skipping.', record_name) + nsf_uid = _resolve_nsf_record_uid(vault, record_name) + if nsf_uid: + record_uids.add(nsf_uid) + else: + rs = folder_utils.try_resolve_path(context, record_name) + if rs is not None: + folder, record_title = rs + if record_title: + record_pattern = record_title + if isinstance(folder, vault_types.Folder): + folder_uids.add(folder.folder_uid) + elif isinstance(folder, list): + for f in folder: + if isinstance(f, vault_types.Folder): + folder_uids.add(f.folder_uid) + else: + logger.warning('Record \"%s\" not found. Skipping.', record_name) folder_name = kwargs.get('folder_name') if folder_name: @@ -891,10 +1002,13 @@ def add_folders(folder: vault_types.Folder): record_uids.add(record_uid) pam_records = [] - valid_record_types = ['pamDatabase', 'pamDirectory', 'pamMachine', 'pamUser', 'pamRemoteBrowser'] + valid_record_types = list(_PAM_ROTATION_RECORD_TYPES) for record_uid in record_uids: record = vault.vault_data.load_record(record_uid) + if not record: + record = _load_nsf_typed_record(vault, record_uid) if record and isinstance(record, vault_record.TypedRecord) and record.record_type in valid_record_types: + _attach_record_key(vault, record) pam_records.append(record) if len(pam_records) == 0: @@ -909,12 +1023,17 @@ def add_folders(folder: vault_types.Folder): criteria=None, record_type=PAM_CONFIGURATIONS, record_version=6): loaded = vault.vault_data.load_record(x.record_uid) if loaded and isinstance(loaded, vault_record.TypedRecord): + _attach_record_key(vault, loaded) pam_configurations[x.record_uid] = loaded + for nsf_cfg in _iter_nsf_pam_configurations(vault): + pam_configurations[nsf_cfg.record_uid] = nsf_cfg config_uid = kwargs.get('config') - cfg_rec = vault.vault_data.load_record(kwargs.get('config', None)) - if cfg_rec and cfg_rec.version == 6 and cfg_rec.record_uid in pam_configurations: - config_uid = cfg_rec.record_uid + if config_uid: + cfg_rec = _load_pam_typed_record(vault, config_uid) + if cfg_rec and cfg_rec.record_type in PAM_CONFIGURATIONS: + pam_configurations[cfg_rec.record_uid] = cfg_rec + config_uid = cfg_rec.record_uid pam_config = None if config_uid: @@ -954,9 +1073,12 @@ def add_folders(folder: vault_types.Folder): pwd_complexity_rule_list = {} resource_uid = kwargs.get('resource') - res_rec = vault.vault_data.load_record(kwargs.get('resource', None)) - if res_rec and isinstance(res_rec, vault_record.TypedRecord): - resource_uid = res_rec.record_uid + if resource_uid: + res_rec = _load_pam_typed_record(vault, resource_uid) + if res_rec and isinstance(res_rec, vault_record.TypedRecord): + resource_uid = res_rec.record_uid + elif not vault.vault_data.load_record(resource_uid): + raise base.CommandError(f'Resource "{resource_uid}" not found') skipped_header = ['record_uid', 'record_title', 'problem', 'description'] skipped_records = [] @@ -1073,37 +1195,23 @@ def execute(self, context: KeeperParams, **kwargs): logger.info( f"Gateway Uid: {(utils.base64_url_encode(rri.controllerUid) if rri.controllerUid else '-')}") - def is_resource_ok(resource_id, vault, configuration_uid): - if resource_id not in vault.vault_data._records: - return False - - configuration = vault.vault_data.load_record(configuration_uid) - if not isinstance(configuration, vault_record.TypedRecord): - return False - - field = configuration.get_typed_field('pamResources') - if not (field and isinstance(field.value, list) and len(field.value) == 1): - return False - - rv = field.value[0] - if not isinstance(rv, dict): - return False - - resources = rv.get('resourceRef') - return isinstance(resources, list) and resource_id in resources - if rri.resourceUid: - resource_id = utils.base64_url_encode(rri.resourceUid) - resource_ok = is_resource_ok(resource_id, vault, configuration_uid) - logger.info(f"Admin Resource Uid: {resource_id if resource_ok else 'FAIL'}") + # Always print the router resource UID (Commander parity). Do not + # hide it behind a local pamResources check that often fails for NSF. + logger.info( + f"Admin Resource Uid: {utils.base64_url_encode(rri.resourceUid)}") if rri.pwdComplexity: logger.info(f"Password Complexity: {rri.pwdComplexity}") try: - record = vault.vault_data._records[record_uid] - if record: + record = vault.vault_data._records.get(record_uid) + record_key = record.record_key if record else None + if not record_key: + typed = _load_pam_typed_record(vault, record_uid) + record_key = getattr(typed, 'record_key', None) if typed else None + if record_key: complexity = crypto.decrypt_aes_v2(utils.base64_url_decode(rri.pwdComplexity), - record.record_key) + record_key) c = json.loads(complexity.decode()) logger.info(f"Password Complexity Data: " f"Length: {c.get('length')}; Lowercase: {c.get('lowercase')}; " diff --git a/keepercli-package/src/keepercli/params.py b/keepercli-package/src/keepercli/params.py index bde54e08..0da183d0 100644 --- a/keepercli-package/src/keepercli/params.py +++ b/keepercli-package/src/keepercli/params.py @@ -227,6 +227,8 @@ def set_auth(self, value: keeper_auth.KeeperAuth, *, self._keeper_config.get_connection, enterprise_id) self._enterprise_loader = enterprise_loader.EnterpriseLoader(self._auth, enterprise_storage, tree_key=tree_key) self.enterprise_down() + # Persist rotations from the vault sync into PAM sqlite now that the plugin exists. + self.refresh_record_rotations() @property def enterprise_loader(self) -> enterprise_types.IEnterpriseLoader: @@ -256,21 +258,81 @@ def vault_down(self): self.refresh_record_rotations() def refresh_record_rotations(self) -> None: - """Reload vault ``recordRotations`` into :attr:`pam_plugin` after a vault sync (enterprise admins only).""" - if not self._auth or not self._auth.auth_context.is_enterprise_admin: - return - if self._enterprise_loader is None: + """Copy rotations from the last vault sync into :attr:`pam_plugin` sqlite (no extra sync_down).""" + if not self._auth: return try: - self.pam_plugin.sync_record_rotations_from_vault() + if self._vault is not None: + self._merge_nsf_rotation_chunks_into_vault_cache() + if (not self._auth.auth_context.is_enterprise_admin + or self._enterprise_loader is None): + return + replace_all = False + rows = [] + if self._vault is not None: + replace_all = self._vault.consume_rotations_cleared() + from keepersdk.plugins.pam import pam_storage as pam_stor + rows = [ + pam_stor.PamRecordRotation( + record_uid=info.record_uid, + revision=info.revision, + configuration_uid=info.configuration_uid, + schedule=info.schedule, + pwd_complexity=info.pwd_complexity, + disabled=info.disabled, + resource_uid=info.resource_uid, + last_rotation=info.last_rotation, + last_rotation_status=info.last_rotation_status, + ) + for info in self._vault.record_rotation_cache.values() + ] + self.pam_plugin.merge_record_rotations(rows, replace_all=replace_all) except Exception as e: keepersdk_utils.get_logger().warning('refresh_record_rotations failed: %s', e) + def _merge_nsf_rotation_chunks_into_vault_cache(self) -> None: + """Secondary source: NSF list_chunks for recordRotationData (already written by sync).""" + if not self._vault: + return + try: + nsf_storage = self._vault.nsf + except Exception: + return + if nsf_storage is None: + return + from keepersdk.vault import nsf_sync + from keepersdk.plugins.pam import pam_storage as pam_stor + + for item in nsf_sync.load_list_chunks(nsf_storage, nsf_sync.CHUNK_RECORD_ROTATION): + if not isinstance(item, dict): + continue + row = pam_stor.pam_record_rotation_from_nsf_dict(item) + if not row or not row.record_uid: + continue + if row.record_uid in self._vault.record_rotation_cache: + continue + self._vault.record_rotation_cache[row.record_uid] = pam_types.PamRecordRotationInfo( + record_uid=row.record_uid, + revision=row.revision, + configuration_uid=row.configuration_uid, + schedule=row.schedule, + pwd_complexity=row.pwd_complexity, + disabled=row.disabled, + resource_uid=row.resource_uid, + last_rotation=row.last_rotation, + last_rotation_status=row.last_rotation_status, + ) + def get_record_rotation(self, record_uid: str) -> Optional[pam_types.PamRecordRotationInfo]: - """Rotation metadata for ``record_uid`` from the last vault / PAM rotation sync (or ``None``).""" - if not self._auth or not self._auth.auth_context.is_enterprise_admin: + """Rotation metadata for ``record_uid`` from vault sync cache / PAM sqlite (or ``None``).""" + if not self._auth or not record_uid: return None - if self._enterprise_loader is None: + if self._vault is not None: + info = self._vault.get_record_rotation(record_uid) + if info is not None: + return info + if (not self._auth.auth_context.is_enterprise_admin + or self._enterprise_loader is None): return None return self.pam_plugin.record_rotations.get_entity(record_uid) diff --git a/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py b/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py index d3b3ff4e..f45a694b 100644 --- a/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py +++ b/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py @@ -1,13 +1,13 @@ from __future__ import annotations import abc -from typing import Dict, List, Tuple +from typing import Iterable, List, Tuple from . import pam_storage, pam_types from ... import utils from ...authentication.keeper_auth import KeeperAuth from ...enterprise import enterprise_loader, sqlite_enterprise_storage -from ...proto import SyncDown_pb2, pam_pb2 +from ...proto import pam_pb2 from ...storage import in_memory, storage_types @@ -50,6 +50,12 @@ def sync_down(self, *, reload: bool = False) -> None: def sync_record_rotations_from_vault(self) -> None: pass + @abc.abstractmethod + def merge_record_rotations( + self, rows: Iterable[pam_storage.PamRecordRotation], *, + replace_all: bool = False) -> None: + pass + @property @abc.abstractmethod def controllers(self) -> storage_types.IEntityReader[pam_types.PamController, str]: @@ -77,6 +83,8 @@ def __init__(self, loader: enterprise_loader.EnterpriseLoader): self._controllers = in_memory.InMemoryEntityStorage[pam_types.PamController, str]() self._record_rotations = in_memory.InMemoryEntityStorage[pam_types.PamRecordRotationInfo, str]() self.logger = utils.get_logger() + # Load any rotations already persisted from a prior vault sync. + self.sync_record_rotations_from_vault() @property def controllers(self) -> storage_types.IEntityReader[pam_types.PamController, str]: @@ -97,38 +105,34 @@ def _get_all_gateways(self, auth: KeeperAuth) -> List[pam_pb2.PAMController]: return [] def sync_record_rotations_from_vault(self) -> None: - - self._sync_record_rotations_from_vault_auth(self.loader.keeper_auth) - - def _sync_record_rotations_from_vault_auth(self, auth: KeeperAuth) -> None: - - merged: Dict[str, pam_storage.PamRecordRotation] = {} - rq = SyncDown_pb2.SyncDownRequest() - token = b'' - done = False - while not done: - rq.continuationToken = token - response = auth.execute_auth_rest( - 'vault/sync_down', rq, response_type=SyncDown_pb2.SyncDownResponse) - if response is None: - break - done = not response.hasMore - token = response.continuationToken or b'' - for rr in response.recordRotations: - row = pam_storage.pam_record_rotation_from_proto(rr) - if row.record_uid: - merged[row.record_uid] = row - if not merged: + """Reload rotations from PAM sqlite into memory (no vault/sync_down).""" + self._record_rotations.clear() + rows = list(self.storage.record_rotations.get_all_entities()) + if rows: + self._record_rotations.put_entities(_pam_rotation_to_domain(r) for r in rows) + + def merge_record_rotations( + self, rows: Iterable[pam_storage.PamRecordRotation], *, + replace_all: bool = False) -> None: + """Upsert rotation rows into PAM sqlite + memory (from normal vault sync).""" + row_list = [r for r in rows if r and r.record_uid] + if replace_all: + existing = [r.uid() for r in self.storage.record_rotations.get_all_entities()] + if existing: + self.storage.record_rotations.delete_uids(existing) + self._record_rotations.clear() + if not row_list: return - rows = list(merged.values()) - self.storage.record_rotations.put_entities(rows) - self._record_rotations.put_entities(_pam_rotation_to_domain(r) for r in rows) + self.storage.record_rotations.put_entities(row_list) + self._record_rotations.put_entities(_pam_rotation_to_domain(r) for r in row_list) def sync_down(self, *, reload: bool = False) -> None: + """Refresh controllers from PAM API; reload rotations from local sqlite only.""" _ = reload - self.storage.reset() + existing = [c.uid() for c in self.storage.controllers.get_all_entities()] + if existing: + self.storage.controllers.delete_uids(existing) self._controllers.clear() - self._record_rotations.clear() auth = self.loader.keeper_auth all_controllers = self._get_all_gateways(auth) @@ -143,7 +147,4 @@ def sync_down(self, *, reload: bool = False) -> None: if domain_rows: self._controllers.put_entities(domain_rows) - try: - self._sync_record_rotations_from_vault_auth(auth) - except Exception as e: - self.logger.warning('PAM: loading record rotations from vault/sync_down failed: %s', e) + self.sync_record_rotations_from_vault() \ No newline at end of file diff --git a/keepersdk-package/src/keepersdk/plugins/pam/pam_storage.py b/keepersdk-package/src/keepersdk/plugins/pam/pam_storage.py index 3ffdb675..c4017e9b 100644 --- a/keepersdk-package/src/keepersdk/plugins/pam/pam_storage.py +++ b/keepersdk-package/src/keepersdk/plugins/pam/pam_storage.py @@ -1,6 +1,6 @@ import abc import sqlite3 -from typing import Callable +from typing import Any, Callable, Dict, Optional import attrs @@ -59,6 +59,39 @@ def pam_record_rotation_from_proto(rr: SyncDown_pb2.RecordRotation) -> PamRecord ) +def pam_record_rotation_from_nsf_dict(data: Dict[str, Any]) -> Optional[PamRecordRotation]: + """Build a rotation row from NSF ``recordRotationData`` JSON (MessageToDict shape).""" + if not isinstance(data, dict): + return None + record_uid = data.get('recordUid') or data.get('record_uid') or '' + if not record_uid: + return None + revision = data.get('revision', 0) + try: + revision = int(revision) + except (TypeError, ValueError): + revision = 0 + pwd = data.get('pwdComplexity') or data.get('pwd_complexity') or b'' + if isinstance(pwd, str): + try: + pwd = utils.base64_url_decode(pwd) + except Exception: + pwd = b'' + return PamRecordRotation( + record_uid=str(record_uid), + revision=revision, + configuration_uid=str( + data.get('configurationUid') or data.get('configuration_uid') or ''), + schedule=str(data.get('schedule') or ''), + pwd_complexity=pwd if isinstance(pwd, (bytes, bytearray)) else b'', + disabled=bool(data.get('disabled', False)), + resource_uid=str(data.get('resourceUid') or data.get('resource_uid') or ''), + last_rotation=int(data.get('lastRotation') or data.get('last_rotation') or 0), + last_rotation_status=int( + data.get('lastRotationStatus') or data.get('last_rotation_status') or 0), + ) + + class IPamStorage(abc.ABC): @property @abc.abstractmethod diff --git a/keepersdk-package/src/keepersdk/vault/nsf_sync.py b/keepersdk-package/src/keepersdk/vault/nsf_sync.py index 78e03c2d..2304297e 100644 --- a/keepersdk-package/src/keepersdk/vault/nsf_sync.py +++ b/keepersdk-package/src/keepersdk/vault/nsf_sync.py @@ -319,16 +319,19 @@ def _store_optional_extras_proto( storage.breach_watch_security_data.put_entities(bws) if task: task.add_records((r.record_uid for r in bws)) - chunk_payload: Dict[str, Any] = { - CHUNK_RECORD_ROTATION: list(nsf_msg.recordRotationData), - CHUNK_RAW_DAG: list(nsf_msg.rawDagData), - } - _replace_json_lists(storage, chunk_payload) + # Only replace when the sync page includes data. Proto3 repeated fields cannot + # distinguish "omitted" from "empty", and wiping on empty drops NSF rotations. + if nsf_msg.recordRotationData: + _replace_chunk_group(storage, CHUNK_RECORD_ROTATION, list(nsf_msg.recordRotationData)) + if nsf_msg.rawDagData: + _replace_chunk_group(storage, CHUNK_RAW_DAG, list(nsf_msg.rawDagData)) def _replace_json_lists(storage: INSFStorage, d: Mapping[str, Any]) -> None: - _replace_chunk_group(storage, CHUNK_RECORD_ROTATION, d.get(CHUNK_RECORD_ROTATION)) - _replace_chunk_group(storage, CHUNK_RAW_DAG, d.get(CHUNK_RAW_DAG)) + if CHUNK_RECORD_ROTATION in d and d.get(CHUNK_RECORD_ROTATION): + _replace_chunk_group(storage, CHUNK_RECORD_ROTATION, d.get(CHUNK_RECORD_ROTATION)) + if CHUNK_RAW_DAG in d and d.get(CHUNK_RAW_DAG): + _replace_chunk_group(storage, CHUNK_RAW_DAG, d.get(CHUNK_RAW_DAG)) def _replace_chunk_group(storage: INSFStorage, group: str, items: Any) -> None: diff --git a/keepersdk-package/src/keepersdk/vault/sync_down.py b/keepersdk-package/src/keepersdk/vault/sync_down.py index ec3aa638..4d9ed56f 100644 --- a/keepersdk-package/src/keepersdk/vault/sync_down.py +++ b/keepersdk-package/src/keepersdk/vault/sync_down.py @@ -36,6 +36,9 @@ def decrypt_keeper_key(auth_context: keeper_auth.AuthContext, encrypted: bytes, class SyncDownResult: vault: vault_data.RebuildTask nsf: Optional[nsf_data.NSFRebuildTask] = None + # Classic recordRotations + NSF keeperDriveData.recordRotationData from this sync. + record_rotations: List[SyncDown_pb2.RecordRotation] = dataclasses.field(default_factory=list) + rotations_cleared: bool = False def sync_down_request(auth: keeper_auth.KeeperAuth, @@ -53,6 +56,8 @@ def sync_down_request(auth: keeper_auth.KeeperAuth, token = user_settings.continuation_token task: Optional[vault_data.RebuildTask] = None nsf_task: Optional[nsf_data.NSFRebuildTask] = None + record_rotations: List[SyncDown_pb2.RecordRotation] = [] + rotations_cleared = False done = False rq = SyncDown_pb2.SyncDownRequest() while not done: @@ -65,15 +70,22 @@ def sync_down_request(auth: keeper_auth.KeeperAuth, sync_record_types = True storage.clear() nsf_task = nsf_data.NSFRebuildTask(True) + rotations_cleared = True + record_rotations.clear() logger.info('Syncing...') if task is None: task = vault_data.RebuildTask(response.cacheStatus == SyncDown_pb2.CLEAR) + if len(response.recordRotations) > 0: + record_rotations.extend(response.recordRotations) + nsf_storage = storage.nsf if nsf_storage is not None: if nsf_task is None: nsf_task = nsf_data.NSFRebuildTask(False) nsf_sync.try_apply_nsf_from_sync_down_proto(response, nsf_storage, nsf_task) + if response.HasField('keeperDriveData') and response.keeperDriveData.recordRotationData: + record_rotations.extend(response.keeperDriveData.recordRotationData) if len(response.removedRecords) > 0: record_uids = [utils.base64_url_encode(x) for x in response.removedRecords] @@ -599,4 +611,9 @@ def to_record_type(rt: record_pb2.RecordType) -> Optional[StorageRecordType]: old_notifications = old_notifications[:to_delete] storage.notifications.delete_uids([x[0] for x in old_notifications]) - return SyncDownResult(vault=task, nsf=nsf_task) + return SyncDownResult( + vault=task, + nsf=nsf_task, + record_rotations=record_rotations, + rotations_cleared=rotations_cleared, + ) diff --git a/keepersdk-package/src/keepersdk/vault/vault_online.py b/keepersdk-package/src/keepersdk/vault/vault_online.py index 6d2504da..9068a810 100644 --- a/keepersdk-package/src/keepersdk/vault/vault_online.py +++ b/keepersdk-package/src/keepersdk/vault/vault_online.py @@ -6,6 +6,7 @@ from . import vault_data, vault_storage, nsf_data, nsf_vault_storage from .. import utils from ..authentication import keeper_auth +from ..plugins.pam import pam_storage, pam_types class VaultOnline(vault_plugins.IVaultData, keeper_auth.IKeeperAuth): @@ -24,6 +25,8 @@ def __init__(self, auth: keeper_auth.KeeperAuth, storage: vault_storage.IVaultSt self._background_future: Optional[concurrent.futures.Future] = None self._sync_record_types = True self.sync_requested = False + self._record_rotation_cache: Dict[str, pam_types.PamRecordRotationInfo] = {} + self._pending_rotation_replace = False self.auto_sync = True # call setter @property @@ -46,6 +49,19 @@ def nsf_data(self) -> Optional[nsf_data.NSFData]: def lock(self)-> threading.Lock: return self._lock + @property + def record_rotation_cache(self) -> Dict[str, pam_types.PamRecordRotationInfo]: + return self._record_rotation_cache + + def get_record_rotation(self, record_uid: str) -> Optional[pam_types.PamRecordRotationInfo]: + return self._record_rotation_cache.get(record_uid) + + def consume_rotations_cleared(self) -> bool: + """Return and clear the 'last sync cleared rotations' flag for PAM sqlite replace.""" + cleared = self._pending_rotation_replace + self._pending_rotation_replace = False + return cleared + def close(self): self.auto_sync = False self._executor.shutdown(wait=False) @@ -104,9 +120,31 @@ def on_notification_received(self, event: Dict[str, Any]) -> Optional[bool]: return False return None + def _ingest_record_rotations(self, result: sync_down.SyncDownResult) -> None: + if result.rotations_cleared: + self._record_rotation_cache.clear() + self._pending_rotation_replace = True + for rr in result.record_rotations: + row = pam_storage.pam_record_rotation_from_proto(rr) + if not row.record_uid: + continue + self._record_rotation_cache[row.record_uid] = pam_types.PamRecordRotationInfo( + record_uid=row.record_uid, + revision=row.revision, + configuration_uid=row.configuration_uid, + schedule=row.schedule, + pwd_complexity=row.pwd_complexity, + disabled=row.disabled, + resource_uid=row.resource_uid, + last_rotation=row.last_rotation, + last_rotation_status=row.last_rotation_status, + ) + def sync_down(self, force=False): if force: self._vault_data.storage.clear() + self._record_rotation_cache.clear() + self._pending_rotation_replace = True result = sync_down.sync_down_request(self._keeper_auth, self._vault_data.storage, sync_record_types=self._sync_record_types, @@ -117,6 +155,7 @@ def sync_down(self, force=False): self._vault_data.rebuild_data(result.vault) if self._nsf_data is not None: self._nsf_data.rebuild_nsf(self._keeper_auth.auth_context) + self._ingest_record_rotations(result) def _background_task(self): if self._keeper_auth.auth_context.enterprise_ec_public_key: From 625d50474a8a059624b7305a5d21770e30476fb4 Mon Sep 17 00:00:00 2001 From: Manan Tyagi Date: Wed, 22 Jul 2026 17:35:00 +0530 Subject: [PATCH 5/6] comment resolution --- .../src/keepercli/commands/pam/pam_config.py | 10 +++++----- .../src/keepercli/commands/pam/pam_rotation.py | 2 -- keepercli-package/src/keepercli/params.py | 1 - .../src/keepersdk/plugins/pam/pam_plugin.py | 1 - .../src/keepersdk/vault/ksm_management.py | 10 +++++----- keepersdk-package/src/keepersdk/vault/nsf_sharing.py | 4 +--- 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/keepercli-package/src/keepercli/commands/pam/pam_config.py b/keepercli-package/src/keepercli/commands/pam/pam_config.py index 8ff747a3..e52c3533 100644 --- a/keepercli-package/src/keepercli/commands/pam/pam_config.py +++ b/keepercli-package/src/keepercli/commands/pam/pam_config.py @@ -99,7 +99,7 @@ def _list_single_configuration(self, vault: vault_online.VaultOnline, config_uid self._format_single_config_table(configuration, facade, shared_folder) def _list_all_configurations(self, vault: vault_online.VaultOnline, is_verbose: bool, format_type: str): - """Lists all PAM configurations (classic shared folders and NSF / Keeper Drive).""" + """Lists all PAM configurations (classic shared folders and NSF).""" configs_data = [] table = [] headers = self._build_list_headers(is_verbose, format_type) @@ -209,7 +209,7 @@ def _resolve_nsf_folder(self, vault: vault_online.VaultOnline, record_uid: str, return None folder_uid = folder_uids[0] if folder_uid == nsf_management.ROOT_FOLDER_UID: - return _PamFolderRef('My Drive', folder_uid) + return _PamFolderRef('My Vault', folder_uid) folder = vault.nsf_data.get_folder(folder_uid) name = (folder.name if folder and folder.name else None) or folder_uid return _PamFolderRef(name, folder_uid) @@ -252,7 +252,7 @@ def _load_nsf_pam_configuration(self, vault: vault_online.VaultOnline, identifie return None def _find_nsf_pam_configurations(self, vault: vault_online.VaultOnline): - """Yield TypedRecord PAM configs stored under NSF / Keeper Drive.""" + """Yield TypedRecord PAM configs stored under NSF.""" if not vault.nsf_data: return for entry in vault.nsf_data.records(): @@ -858,7 +858,7 @@ def _configure_tunneling(self, vault: vault_online.VaultOnline, record: vault_re common_parser.add_argument('--title', '-t', dest='title', action='store', help='Title of the PAM Configuration') common_parser.add_argument('--gateway', '-g', dest='gateway_uid', action='store', help='Gateway UID or Name') common_parser.add_argument('--shared-folder', '-sf', dest='shared_folder_uid', action='store', - help='Classic shared folder or NSF / Keeper Drive folder (UID or name) where this PAM ' + help='Classic shared folder or NSF folder (UID or name) where this PAM ' 'Configuration is stored. Should be a folder the gateway can access.') common_parser.add_argument('--schedule', '-sc', dest='default_schedule', action='store', help='Default Schedule: Use CRON syntax') @@ -1065,7 +1065,7 @@ def _create_and_configure_record(self, vault: vault_online.VaultOnline, record: def _create_nsf_pam_configuration(self, vault: vault_online.VaultOnline, record: vault_record.TypedRecord, nsf_folder_uid: str): - """Create a PAM configuration record inside an NSF / Keeper Drive folder.""" + """Create a PAM configuration record inside an NSF folder.""" schema = vault.vault_data.get_record_type_by_name(record.record_type) record_data = vault_extensions.extract_typed_record_data(record, schema) try: diff --git a/keepercli-package/src/keepercli/commands/pam/pam_rotation.py b/keepercli-package/src/keepercli/commands/pam/pam_rotation.py index ab83c7cf..c3302def 100644 --- a/keepercli-package/src/keepercli/commands/pam/pam_rotation.py +++ b/keepercli-package/src/keepercli/commands/pam/pam_rotation.py @@ -1196,8 +1196,6 @@ def execute(self, context: KeeperParams, **kwargs): f"Gateway Uid: {(utils.base64_url_encode(rri.controllerUid) if rri.controllerUid else '-')}") if rri.resourceUid: - # Always print the router resource UID (Commander parity). Do not - # hide it behind a local pamResources check that often fails for NSF. logger.info( f"Admin Resource Uid: {utils.base64_url_encode(rri.resourceUid)}") diff --git a/keepercli-package/src/keepercli/params.py b/keepercli-package/src/keepercli/params.py index 0da183d0..8a89d093 100644 --- a/keepercli-package/src/keepercli/params.py +++ b/keepercli-package/src/keepercli/params.py @@ -258,7 +258,6 @@ def vault_down(self): self.refresh_record_rotations() def refresh_record_rotations(self) -> None: - """Copy rotations from the last vault sync into :attr:`pam_plugin` sqlite (no extra sync_down).""" if not self._auth: return try: diff --git a/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py b/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py index f45a694b..24a9d56d 100644 --- a/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py +++ b/keepersdk-package/src/keepersdk/plugins/pam/pam_plugin.py @@ -127,7 +127,6 @@ def merge_record_rotations( self._record_rotations.put_entities(_pam_rotation_to_domain(r) for r in row_list) def sync_down(self, *, reload: bool = False) -> None: - """Refresh controllers from PAM API; reload rotations from local sqlite only.""" _ = reload existing = [c.uid() for c in self.storage.controllers.get_all_entities()] if existing: diff --git a/keepersdk-package/src/keepersdk/vault/ksm_management.py b/keepersdk-package/src/keepersdk/vault/ksm_management.py index 587660b1..0a889063 100644 --- a/keepersdk-package/src/keepersdk/vault/ksm_management.py +++ b/keepersdk-package/src/keepersdk/vault/ksm_management.py @@ -1136,7 +1136,7 @@ def update_secrets_in_ksm_app(vault: vault_online.VaultOnline, app_uid: str, sec } updated_uids = [] - classic_uids_to_readd = [] + classic_uids_to_re_add = [] for uid in secret_uids: kind = KSMShareManagement._classify_secret(vault, uid) @@ -1158,18 +1158,18 @@ def update_secrets_in_ksm_app(vault: vault_online.VaultOnline, app_uid: str, sec perm = 'editable' if is_editable else 'read-only' logging.info('Secret "%s" is already %s. No change needed.', uid, perm) continue - classic_uids_to_readd.append(uid) + classic_uids_to_re_add.append(uid) - if classic_uids_to_readd: + if classic_uids_to_re_add: request = RemoveAppSharesRequest() request.appRecordUid = utils.base64_url_decode(app_uid) request.shares.extend( - utils.base64_url_decode(uid) for uid in classic_uids_to_readd) + utils.base64_url_decode(uid) for uid in classic_uids_to_re_add) vault.keeper_auth.execute_auth_rest( rest_endpoint=SHARE_REMOVE_URL, request=request) app_shares = [] - for uid in classic_uids_to_readd: + for uid in classic_uids_to_re_add: share_info = KSMShareManagement._process_secret( vault, uid, master_key, is_editable) if share_info: diff --git a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py index 77d24b26..7a0dae29 100644 --- a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py +++ b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py @@ -264,9 +264,7 @@ def grant_nsf_folder_to_application( *, is_editable: bool = False, request_sync: bool = True) -> Dict[str, Any]: - """Share an NSF (Keeper Drive) folder with a KSM application via AT_APPLICATION. - - Classic vault/app_share_add rejects Drive folders; this uses folders/v3/access_update. + """Share an NSF folder with a KSM application via AT_APPLICATION. """ folder_uid = resolve_nsf_folder_uid(vault, folder_identifier) or folder_identifier if not is_nsf_folder(vault, folder_uid): From 400696f7ee2d842b1e9a9580f6ccabf2c88327a9 Mon Sep 17 00:00:00 2001 From: Manan Tyagi Date: Wed, 22 Jul 2026 17:38:02 +0530 Subject: [PATCH 6/6] removal of keeper drive in code comments/docstrings --- keepersdk-package/src/keepersdk/vault/ksm_management.py | 2 +- keepersdk-package/src/keepersdk/vault/sync_down.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keepersdk-package/src/keepersdk/vault/ksm_management.py b/keepersdk-package/src/keepersdk/vault/ksm_management.py index 0a889063..904556ed 100644 --- a/keepersdk-package/src/keepersdk/vault/ksm_management.py +++ b/keepersdk-package/src/keepersdk/vault/ksm_management.py @@ -863,7 +863,7 @@ def add_secrets_to_ksm_app(vault: vault_online.VaultOnline, enterprise:enterpris """Share secrets with a KSM application. Classic records/shared folders use vault/app_share_add. - NSF (Keeper Drive) folders use folders/v3/access_update with AT_APPLICATION. + NSF folders use folders/v3/access_update with AT_APPLICATION. """ app_shares = [] added_secret_info = [] diff --git a/keepersdk-package/src/keepersdk/vault/sync_down.py b/keepersdk-package/src/keepersdk/vault/sync_down.py index 4d9ed56f..550c284d 100644 --- a/keepersdk-package/src/keepersdk/vault/sync_down.py +++ b/keepersdk-package/src/keepersdk/vault/sync_down.py @@ -36,7 +36,7 @@ def decrypt_keeper_key(auth_context: keeper_auth.AuthContext, encrypted: bytes, class SyncDownResult: vault: vault_data.RebuildTask nsf: Optional[nsf_data.NSFRebuildTask] = None - # Classic recordRotations + NSF keeperDriveData.recordRotationData from this sync. + # Classic recordRotations + NSF recordRotationData from this sync. record_rotations: List[SyncDown_pb2.RecordRotation] = dataclasses.field(default_factory=list) rotations_cleared: bool = False