diff --git a/docs/moduledoc.rst b/docs/moduledoc.rst index 418c23f8..d2e80ffb 100644 --- a/docs/moduledoc.rst +++ b/docs/moduledoc.rst @@ -25,6 +25,14 @@ SDK Documentation :special-members: __init__ :undoc-members: +:mod:`dropbox.auth` -- Auth +============================================ +.. automodule:: dropbox.auth + :members: + :show-inheritance: + :special-members: __init__ + :undoc-members: + :mod:`dropbox.files` -- Files ============================================ .. automodule:: dropbox.files @@ -56,6 +64,14 @@ SDK Documentation :special-members: __init__ :undoc-members: +:mod:`dropbox.team_log` -- Team Log +============================================ +.. automodule:: dropbox.team_log + :members: + :show-inheritance: + :special-members: __init__ + :undoc-members: + :mod:`dropbox.users` -- Users ============================================ .. automodule:: dropbox.users diff --git a/dropbox/async.py b/dropbox/async.py index b16641c9..453d9e93 100644 --- a/dropbox/async.py +++ b/dropbox/async.py @@ -307,3 +307,4 @@ def __repr__(self): ROUTES = { } + diff --git a/dropbox/auth.py b/dropbox/auth.py index 928c3c55..2dd5ef08 100644 --- a/dropbox/auth.py +++ b/dropbox/auth.py @@ -720,3 +720,4 @@ def __repr__(self): 'token/from_oauth1': token_from_oauth1, 'token/revoke': token_revoke, } + diff --git a/dropbox/base.py b/dropbox/base.py index 2109d37f..33d96bc0 100644 --- a/dropbox/base.py +++ b/dropbox/base.py @@ -1,6 +1,4 @@ # Auto-generated by Stone, do not modify. -# flake8: noqa -# pylint: skip-file from abc import ABCMeta, abstractmethod import warnings @@ -14,8 +12,10 @@ sharing, team, team_common, + team_log, team_policies, users, + users_common, ) @@ -483,9 +483,11 @@ def files_get_preview(self, path, rev=None): """ - Get a preview for a file. Currently previews are only generated for the - files with the following extensions: .doc, .docx, .docm, .ppt, .pps, - .ppsx, .ppsm, .pptx, .pptm, .xls, .xlsx, .xlsm, .rtf. + Get a preview for a file. Currently, PDF previews are generated for + files with the following extensions: .ai, .doc, .docm, .docx, .eps, + .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .rtf. HTML previews + are generated for files with the following extensions: .csv, .ods, .xls, + .xlsm, .xlsx. Other formats will return an unsupported extension error. :param str path: The path of the file to preview. :param Nullable rev: Deprecated. Please specify revision in ``path`` @@ -518,9 +520,11 @@ def files_get_preview_to_file(self, path, rev=None): """ - Get a preview for a file. Currently previews are only generated for the - files with the following extensions: .doc, .docx, .docm, .ppt, .pps, - .ppsx, .ppsm, .pptx, .pptm, .xls, .xlsx, .xlsm, .rtf. + Get a preview for a file. Currently, PDF previews are generated for + files with the following extensions: .ai, .doc, .docm, .docx, .eps, + .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .rtf. HTML previews + are generated for files with the following extensions: .csv, .ods, .xls, + .xlsm, .xlsx. Other formats will return an unsupported extension error. :param str download_path: Path on local machine to save file. :param str path: The path of the file to preview. @@ -671,7 +675,12 @@ def files_list_folder(self, ``FolderSharingInfo.read_only`` and set all its children's read-only statuses to match. For each :class:`dropbox.files.DeletedMetadata`, if your local state has something at the given path, remove it and all its - children. If there's nothing at the given path, ignore this entry. + children. If there's nothing at the given path, ignore this entry. Note: + :class:`dropbox.auth.RateLimitError` may be returned if multiple + :meth:`files_list_folder` or :meth:`files_list_folder_continue` calls + with same parameters are made simultaneously by same API app for same + user. If your app implements retry logic, please hold off the retry + until the previous request finishes. :param str path: The path to the folder you want to see the contents of. :param bool recursive: If true, the list folder operation will be @@ -1261,7 +1270,7 @@ def files_upload_session_append(self, offset): """ Append more data to an upload session. A single request should not - upload more than 150 MB of file contents. + upload more than 150 MB. :param bytes f: Contents to upload. :param str session_id: The upload session ID (returned by @@ -1296,7 +1305,7 @@ def files_upload_session_append_v2(self, """ Append more data to an upload session. When the parameter close is set, this call will close the session. A single request should not upload - more than 150 MB of file contents. + more than 150 MB. :param bytes f: Contents to upload. :param cursor: Contains the upload session ID and the offset. @@ -1327,8 +1336,7 @@ def files_upload_session_finish(self, commit): """ Finish an upload session and save the uploaded data to the given file - path. A single request should not upload more than 150 MB of file - contents. + path. A single request should not upload more than 150 MB. :param bytes f: Contents to upload. :param cursor: Contains the upload session ID and the offset. @@ -1416,8 +1424,12 @@ def files_upload_session_start(self, This call starts a new upload session with the given data. You can then use :meth:`files_upload_session_append_v2` to add more data and :meth:`files_upload_session_finish` to save all the data to a file in - Dropbox. A single request should not upload more than 150 MB of file - contents. + Dropbox. A single request should not upload more than 150 MB. An upload + session can be used for a maximum of 48 hours. Attempting to use an + ``UploadSessionStartResult.session_id`` with + :meth:`files_upload_session_append_v2` or + :meth:`files_upload_session_finish` more than 48 hours after its + creation will return a ``UploadSessionLookupError.not_found``. :param bytes f: Contents to upload. :param bool close: If true, the current session will be closed, at which @@ -1441,11 +1453,10 @@ def files_upload_session_start(self, def paper_docs_archive(self, doc_id): """ - Marks the given Paper doc as deleted. This operation is non-destructive - and the doc can be revived by the owner. Note: This action can be - performed only by the doc owner. + Marks the given Paper doc as archived. Note: This action can be + performed or undone by anyone with edit permissions to the doc. - :type doc_id: str + :param str doc_id: The Paper doc ID. :rtype: None :raises: :class:`dropbox.exceptions.ApiError` @@ -1584,7 +1595,7 @@ def paper_docs_get_folder_info(self, containing the Paper doc. Note: If the Paper doc is not in any folder (aka unfiled) the response will be empty. - :type doc_id: str + :param str doc_id: The Paper doc ID. :rtype: :class:`dropbox.paper.FoldersContainingPaperDoc` :raises: :class:`dropbox.exceptions.ApiError` @@ -1665,7 +1676,7 @@ def paper_docs_permanently_delete(self, doc cannot be recovered. Note: This action can be performed only by the doc owner. - :type doc_id: str + :param str doc_id: The Paper doc ID. :rtype: None :raises: :class:`dropbox.exceptions.ApiError` @@ -1686,7 +1697,7 @@ def paper_docs_sharing_policy_get(self, """ Gets the default sharing policy for the given Paper doc. - :type doc_id: str + :param str doc_id: The Paper doc ID. :rtype: :class:`dropbox.paper.SharingPolicy` :raises: :class:`dropbox.exceptions.ApiError` @@ -1738,15 +1749,15 @@ def paper_docs_users_add(self, quiet=False): """ Allows an owner or editor to add users to a Paper doc or change their - permissions using their email or Dropbox account id. Note: The Doc - owner's permissions cannot be changed. + permissions using their email address or Dropbox account ID. Note: The + Doc owner's permissions cannot be changed. :param list members: User which should be added to the Paper doc. - Specify only email or Dropbox account id. + Specify only email address or Dropbox account ID. :param Nullable custom_message: A personal message that will be emailed to each successfully added member. - :param bool quiet: Clients should set this to true if no email shall be - sent to added users. + :param bool quiet: Clients should set this to true if no email message + shall be sent to added users. :rtype: list :raises: :class:`dropbox.exceptions.ApiError` @@ -1830,10 +1841,10 @@ def paper_docs_users_remove(self, member): """ Allows an owner or editor to remove users from a Paper doc using their - email or Dropbox account id. Note: Doc owner cannot be removed. + email address or Dropbox account ID. Note: Doc owner cannot be removed. :param member: User which should be removed from the Paper doc. Specify - only email or Dropbox account id. + only email address or Dropbox account ID. :type member: :class:`dropbox.paper.MemberSelector` :rtype: None :raises: :class:`dropbox.exceptions.ApiError` @@ -2113,7 +2124,10 @@ def sharing_get_file_metadata(self, Returns shared file metadata. :param str file: The file to query. - :param Nullable actions: File actions to query. + :param Nullable actions: A list of `FileAction`s corresponding to + `FilePermission`s that should appear in the response's + ``SharedFileMetadata.permissions`` field describing the actions the + authenticated user can perform on the file. :rtype: :class:`dropbox.sharing.SharedFileMetadata` :raises: :class:`dropbox.exceptions.ApiError` @@ -2137,7 +2151,10 @@ def sharing_get_file_metadata_batch(self, Returns shared file metadata. :param list files: The files to query. - :param Nullable actions: File actions to query. + :param Nullable actions: A list of `FileAction`s corresponding to + `FilePermission`s that should appear in the response's + ``SharedFileMetadata.permissions`` field describing the actions the + authenticated user can perform on the file. :rtype: list :raises: :class:`dropbox.exceptions.ApiError` @@ -2162,10 +2179,10 @@ def sharing_get_folder_metadata(self, Dropbox access to use this endpoint. :param str shared_folder_id: The ID for the shared folder. - :param Nullable actions: This is a list indicating whether the returned - folder data will include a boolean value ``FolderPermission.allow`` - that describes whether the current user can perform the - FolderAction on the folder. + :param Nullable actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions + the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.SharedFolderMetadata` :raises: :class:`dropbox.exceptions.ApiError` @@ -2463,10 +2480,10 @@ def sharing_list_folders(self, Apps must have full Dropbox access to use this endpoint. :param long limit: The maximum number of results to return per request. - :param Nullable actions: This is a list indicating whether each returned - folder data entry will include a boolean field - ``FolderPermission.allow`` that describes whether the current user - can perform the `FolderAction` on the folder. + :param Nullable actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions + the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.ListFoldersResult` """ arg = sharing.ListFoldersArgs(limit, @@ -2513,10 +2530,10 @@ def sharing_list_mountable_folders(self, unmount. Apps must have full Dropbox access to use this endpoint. :param long limit: The maximum number of results to return per request. - :param Nullable actions: This is a list indicating whether each returned - folder data entry will include a boolean field - ``FolderPermission.allow`` that describes whether the current user - can perform the `FolderAction` on the folder. + :param Nullable actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions + the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.ListFoldersResult` """ arg = sharing.ListFoldersArgs(limit, @@ -2566,7 +2583,10 @@ def sharing_list_received_files(self, :param long limit: Number of files to return max per query. Defaults to 100 if no limit is specified. - :param Nullable actions: File actions to query. + :param Nullable actions: A list of `FileAction`s corresponding to + `FilePermission`s that should appear in the response's + ``SharedFileMetadata.permissions`` field describing the actions the + authenticated user can perform on the file. :rtype: :class:`dropbox.sharing.ListFilesResult` :raises: :class:`dropbox.exceptions.ApiError` @@ -2901,10 +2921,10 @@ def sharing_share_folder(self, ``SharedLinkPolicy.members``. :param bool force_async: Whether to force the share to happen asynchronously. - :param Nullable actions: This is a list indicating whether each returned - folder data entry will include a boolean field - ``FolderPermission.allow`` that describes whether the current user - can perform the `FolderAction` on the folder. + :param Nullable actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions + the authenticated user can perform on the folder. :param Nullable link_settings: Settings on the link for this folder. :param Nullable viewer_info_policy: Who can enable/disable viewer info for this shared folder. @@ -3094,7 +3114,8 @@ def sharing_update_folder_policy(self, acl_update_policy=None, viewer_info_policy=None, shared_link_policy=None, - link_settings=None): + link_settings=None, + actions=None): """ Update the sharing policies for a shared folder. User must have ``AccessLevel.owner`` access to the shared folder to update its @@ -3111,6 +3132,10 @@ def sharing_update_folder_policy(self, created for content inside this shared folder. The current user must be on a team to set this policy to ``SharedLinkPolicy.members``. :param Nullable link_settings: Settings on the link for this folder. + :param Nullable actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions + the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.SharedFolderMetadata` :raises: :class:`dropbox.exceptions.ApiError` @@ -3122,7 +3147,8 @@ def sharing_update_folder_policy(self, acl_update_policy, viewer_info_policy, shared_link_policy, - link_settings) + link_settings, + actions) r = self.request( sharing.update_folder_policy, 'sharing', @@ -3131,6 +3157,61 @@ def sharing_update_folder_policy(self, ) return r + # ------------------------------------------ + # Routes in team_log namespace + + def team_log_get_events(self, + limit=1000, + account_id=None, + time=None): + """ + Retrieves team events. Permission : Team Auditing. + + :param long limit: Number of results to return per call. + :param Nullable account_id: Filter the events by account ID. Return ony + events with this account_id as either Actor, Context, or + Participants. + :param Nullable time: Filter by time range. + :rtype: :class:`dropbox.team_log.GetTeamEventsResult` + :raises: :class:`dropbox.exceptions.ApiError` + + If this raises, ApiError.reason is of type: + :class:`dropbox.team_log.GetTeamEventsError` + """ + arg = team_log.GetTeamEventsArg(limit, + account_id, + time) + r = self.request( + team_log.get_events, + 'team_log', + arg, + None, + ) + return r + + def team_log_get_events_continue(self, + cursor): + """ + Once a cursor has been retrieved from :meth:`team_log_get_events`, use + this to paginate through all events. Permission : Team Auditing. + + :param str cursor: Indicates from what point to get the next set of + events. + :rtype: :class:`dropbox.team_log.GetTeamEventsResult` + :raises: :class:`dropbox.exceptions.ApiError` + + If this raises, ApiError.reason is of type: + :class:`dropbox.team_log.GetTeamEventsContinueError` + """ + arg = team_log.GetTeamEventsContinueArg(cursor) + r = self.request( + team_log.get_events_continue, + 'team_log', + arg, + None, + ) + return r + # ------------------------------------------ # Routes in users namespace @@ -3207,3 +3288,4 @@ def users_get_space_usage(self): None, ) return r + diff --git a/dropbox/base_team.py b/dropbox/base_team.py index 3b285b0d..1ea3fd79 100644 --- a/dropbox/base_team.py +++ b/dropbox/base_team.py @@ -1,6 +1,4 @@ # Auto-generated by Stone, do not modify. -# flake8: noqa -# pylint: skip-file from abc import ABCMeta, abstractmethod import warnings @@ -14,8 +12,10 @@ sharing, team, team_common, + team_log, team_policies, users, + users_common, ) @@ -181,6 +181,31 @@ def team_devices_revoke_device_session_batch(self, ) return r + def team_features_get_values(self, + features): + """ + Get the values for one or more featues. This route allows you to check + your account's capability for what feature you can access or what value + you have for certain features. Permission : Team information. + + :param list features: A list of features in + :class:`dropbox.team.Feature`. If the list is empty, this route will + return :class:`dropbox.team.FeaturesGetValuesBatchError`. + :rtype: :class:`dropbox.team.FeaturesGetValuesBatchResult` + :raises: :class:`dropbox.exceptions.ApiError` + + If this raises, ApiError.reason is of type: + :class:`dropbox.team.FeaturesGetValuesBatchError` + """ + arg = team.FeaturesGetValuesBatchArg(features) + r = self.request( + team.features_get_values, + 'team', + arg, + None, + ) + return r + def team_get_info(self): """ Retrieves information about a team. @@ -1335,6 +1360,30 @@ def team_team_folder_list(self, ) return r + def team_team_folder_list_continue(self, + cursor): + """ + Once a cursor has been retrieved from :meth:`team_team_folder_list`, use + this to paginate through all team folders. Permission : Team member file + access. + + :param str cursor: Indicates from what point to get the next set of team + folders. + :rtype: :class:`dropbox.team.TeamFolderListResult` + :raises: :class:`dropbox.exceptions.ApiError` + + If this raises, ApiError.reason is of type: + :class:`dropbox.team.TeamFolderListContinueError` + """ + arg = team.TeamFolderListContinueArg(cursor) + r = self.request( + team.team_folder_list_continue, + 'team', + arg, + None, + ) + return r + def team_team_folder_permanently_delete(self, team_folder_id): """ @@ -1376,3 +1425,24 @@ def team_team_folder_rename(self, None, ) return r + + def team_token_get_authenticated_admin(self): + """ + Returns the member profile of the admin who generated the team access + token used to make the call. + + :rtype: :class:`dropbox.team.TokenGetAuthenticatedAdminResult` + :raises: :class:`dropbox.exceptions.ApiError` + + If this raises, ApiError.reason is of type: + :class:`dropbox.team.TokenGetAuthenticatedAdminError` + """ + arg = None + r = self.request( + team.token_get_authenticated_admin, + 'team', + arg, + None, + ) + return r + diff --git a/dropbox/common.py b/dropbox/common.py index 22eeb944..920018c8 100644 --- a/dropbox/common.py +++ b/dropbox/common.py @@ -17,6 +17,8 @@ EmailAddress_validator = bv.String(max_length=255, pattern=u"^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*.[A-Za-z]{2,15}$") NamePart_validator = bv.String(min_length=1, max_length=100, pattern=u'[^/:?*<>"|]*') NamespaceId_validator = bv.String(pattern=u'[-_0-9a-zA-Z:]+') +SessionId_validator = bv.String() SharedFolderId_validator = NamespaceId_validator ROUTES = { } + diff --git a/dropbox/files.py b/dropbox/files.py index febdb241..09634bce 100644 --- a/dropbox/files.py +++ b/dropbox/files.py @@ -20,13 +20,13 @@ async, common, properties, - users, + users_common, ) except (SystemError, ValueError): import async import common import properties - import users + import users_common class PropertiesError(properties.PropertyTemplateError): """ @@ -4145,8 +4145,6 @@ class LookupError(bb.Union): :ivar restricted_content: The file cannot be transferred because the content is restricted. For example, sometimes there are legal restrictions due to copyright claims. - :ivar PathRootError invalid_path_root: The path root parameter provided is - invalid. """ _catch_all = 'other' @@ -4172,17 +4170,6 @@ def malformed_path(cls, val): """ return cls('malformed_path', val) - @classmethod - def invalid_path_root(cls, val): - """ - Create an instance of this class set to the ``invalid_path_root`` tag - with value ``val``. - - :param PathRootError val: - :rtype: LookupError - """ - return cls('invalid_path_root', val) - def is_malformed_path(self): """ Check if the union tag is ``malformed_path``. @@ -4223,14 +4210,6 @@ def is_restricted_content(self): """ return self._tag == 'restricted_content' - def is_invalid_path_root(self): - """ - Check if the union tag is ``invalid_path_root``. - - :rtype: bool - """ - return self._tag == 'invalid_path_root' - def is_other(self): """ Check if the union tag is ``other``. @@ -4249,18 +4228,6 @@ def get_malformed_path(self): raise AttributeError("tag 'malformed_path' not set") return self._value - def get_invalid_path_root(self): - """ - The path root parameter provided is invalid. - - Only call this if :meth:`is_invalid_path_root` is true. - - :rtype: PathRootError - """ - if not self.is_invalid_path_root(): - raise AttributeError("tag 'invalid_path_root' not set") - return self._value - def __repr__(self): return 'LookupError(%r, %r)' % (self._tag, self._value) @@ -4449,60 +4416,6 @@ def __repr__(self): MediaMetadata_validator = bv.StructTree(MediaMetadata) -class PathRootError(object): - """ - :ivar path_root: The user's latest path root value. None if the user no - longer has a path root. - """ - - __slots__ = [ - '_path_root_value', - '_path_root_present', - ] - - _has_required_fields = False - - def __init__(self, - path_root=None): - self._path_root_value = None - self._path_root_present = False - if path_root is not None: - self.path_root = path_root - - @property - def path_root(self): - """ - The user's latest path root value. None if the user no longer has a path - root. - - :rtype: str - """ - if self._path_root_present: - return self._path_root_value - else: - return None - - @path_root.setter - def path_root(self, val): - if val is None: - del self.path_root - return - val = self._path_root_validator.validate(val) - self._path_root_value = val - self._path_root_present = True - - @path_root.deleter - def path_root(self): - self._path_root_value = None - self._path_root_present = False - - def __repr__(self): - return 'PathRootError(path_root={!r})'.format( - self._path_root_value, - ) - -PathRootError_validator = bv.Struct(PathRootError) - class PhotoMetadata(MediaMetadata): """ Metadata for a photo. @@ -8065,12 +7978,16 @@ class UploadSessionFinishError(bb.Union): :ivar too_many_shared_folder_targets: The batch request commits files into too many different shared folders. Please limit your batch request to files contained in a single shared folder. + :ivar too_many_write_operations: There are too many write operations + happening in the user's Dropbox. You should retry uploading this file. """ _catch_all = 'other' # Attribute is overwritten below the class definition too_many_shared_folder_targets = None # Attribute is overwritten below the class definition + too_many_write_operations = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -8119,6 +8036,14 @@ def is_too_many_shared_folder_targets(self): """ return self._tag == 'too_many_shared_folder_targets' + def is_too_many_write_operations(self): + """ + Check if the union tag is ``too_many_write_operations``. + + :rtype: bool + """ + return self._tag == 'too_many_write_operations' + def is_other(self): """ Check if the union tag is ``other``. @@ -8162,7 +8087,8 @@ class UploadSessionLookupError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar not_found: The upload session id was not found. + :ivar not_found: The upload session ID was not found or has expired. Upload + sessions are valid for 48 hours. :ivar UploadSessionOffsetError incorrect_offset: The specified offset was incorrect. See the value for the correct offset. This error may occur when a previous request was received and processed successfully but the @@ -8629,6 +8555,7 @@ class WriteError(bb.Union): (bytes) to write more data. :ivar disallowed_name: Dropbox will not save the file or folder because of its name. + :ivar team_folder: This endpoint cannot modify or delete team folders. """ _catch_all = 'other' @@ -8639,6 +8566,8 @@ class WriteError(bb.Union): # Attribute is overwritten below the class definition disallowed_name = None # Attribute is overwritten below the class definition + team_folder = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -8703,6 +8632,14 @@ def is_disallowed_name(self): """ return self._tag == 'disallowed_name' + def is_team_folder(self): + """ + Check if the union tag is ``team_folder``. + + :rtype: bool + """ + return self._tag == 'team_folder' + def is_other(self): """ Check if the union tag is ``other``. @@ -9109,7 +9046,7 @@ def __repr__(self): SharingInfo._all_fields_ = [('read_only', SharingInfo._read_only_validator)] FileSharingInfo._parent_shared_folder_id_validator = common.SharedFolderId_validator -FileSharingInfo._modified_by_validator = bv.Nullable(users.AccountId_validator) +FileSharingInfo._modified_by_validator = bv.Nullable(users_common.AccountId_validator) FileSharingInfo._all_field_names_ = SharingInfo._all_field_names_.union(set([ 'parent_shared_folder_id', 'modified_by', @@ -9355,7 +9292,6 @@ def __repr__(self): LookupError._not_file_validator = bv.Void() LookupError._not_folder_validator = bv.Void() LookupError._restricted_content_validator = bv.Void() -LookupError._invalid_path_root_validator = PathRootError_validator LookupError._other_validator = bv.Void() LookupError._tagmap = { 'malformed_path': LookupError._malformed_path_validator, @@ -9363,7 +9299,6 @@ def __repr__(self): 'not_file': LookupError._not_file_validator, 'not_folder': LookupError._not_folder_validator, 'restricted_content': LookupError._restricted_content_validator, - 'invalid_path_root': LookupError._invalid_path_root_validator, 'other': LookupError._other_validator, } @@ -9408,10 +9343,6 @@ def __repr__(self): } MediaMetadata._is_catch_all_ = False -PathRootError._path_root_validator = bv.Nullable(bv.String()) -PathRootError._all_field_names_ = set(['path_root']) -PathRootError._all_fields_ = [('path_root', PathRootError._path_root_validator)] - PhotoMetadata._field_names_ = set([]) PhotoMetadata._all_field_names_ = MediaMetadata._all_field_names_.union(PhotoMetadata._field_names_) PhotoMetadata._fields_ = [] @@ -9924,15 +9855,18 @@ def __repr__(self): UploadSessionFinishError._lookup_failed_validator = UploadSessionLookupError_validator UploadSessionFinishError._path_validator = WriteError_validator UploadSessionFinishError._too_many_shared_folder_targets_validator = bv.Void() +UploadSessionFinishError._too_many_write_operations_validator = bv.Void() UploadSessionFinishError._other_validator = bv.Void() UploadSessionFinishError._tagmap = { 'lookup_failed': UploadSessionFinishError._lookup_failed_validator, 'path': UploadSessionFinishError._path_validator, 'too_many_shared_folder_targets': UploadSessionFinishError._too_many_shared_folder_targets_validator, + 'too_many_write_operations': UploadSessionFinishError._too_many_write_operations_validator, 'other': UploadSessionFinishError._other_validator, } UploadSessionFinishError.too_many_shared_folder_targets = UploadSessionFinishError('too_many_shared_folder_targets') +UploadSessionFinishError.too_many_write_operations = UploadSessionFinishError('too_many_write_operations') UploadSessionFinishError.other = UploadSessionFinishError('other') UploadSessionLookupError._not_found_validator = bv.Void() @@ -10003,6 +9937,7 @@ def __repr__(self): WriteError._no_write_permission_validator = bv.Void() WriteError._insufficient_space_validator = bv.Void() WriteError._disallowed_name_validator = bv.Void() +WriteError._team_folder_validator = bv.Void() WriteError._other_validator = bv.Void() WriteError._tagmap = { 'malformed_path': WriteError._malformed_path_validator, @@ -10010,12 +9945,14 @@ def __repr__(self): 'no_write_permission': WriteError._no_write_permission_validator, 'insufficient_space': WriteError._insufficient_space_validator, 'disallowed_name': WriteError._disallowed_name_validator, + 'team_folder': WriteError._team_folder_validator, 'other': WriteError._other_validator, } WriteError.no_write_permission = WriteError('no_write_permission') WriteError.insufficient_space = WriteError('insufficient_space') WriteError.disallowed_name = WriteError('disallowed_name') +WriteError.team_folder = WriteError('team_folder') WriteError.other = WriteError('other') WriteMode._add_validator = bv.Void() @@ -10453,3 +10390,4 @@ def __repr__(self): 'upload_session/finish_batch/check': upload_session_finish_batch_check, 'upload_session/start': upload_session_start, } + diff --git a/dropbox/paper.py b/dropbox/paper.py index a75a8cd5..7dd737ae 100644 --- a/dropbox/paper.py +++ b/dropbox/paper.py @@ -28,7 +28,7 @@ class AddMember(object): """ :ivar permission_level: Permission for the user. :ivar member: User which should be added to the Paper doc. Specify only - email or Dropbox account id. + email address or Dropbox account ID. """ __slots__ = [ @@ -78,8 +78,8 @@ def permission_level(self): @property def member(self): """ - User which should be added to the Paper doc. Specify only email or - Dropbox account id. + User which should be added to the Paper doc. Specify only email address + or Dropbox account ID. :rtype: sharing.MemberSelector_validator """ @@ -108,6 +108,9 @@ def __repr__(self): AddMember_validator = bv.Struct(AddMember) class RefPaperDoc(object): + """ + :ivar doc_id: The Paper doc ID. + """ __slots__ = [ '_doc_id_value', @@ -126,6 +129,8 @@ def __init__(self, @property def doc_id(self): """ + The Paper doc ID. + :rtype: str """ if self._doc_id_present: @@ -154,11 +159,11 @@ def __repr__(self): class AddPaperDocUser(RefPaperDoc): """ :ivar members: User which should be added to the Paper doc. Specify only - email or Dropbox account id. + email address or Dropbox account ID. :ivar custom_message: A personal message that will be emailed to each successfully added member. - :ivar quiet: Clients should set this to true if no email shall be sent to - added users. + :ivar quiet: Clients should set this to true if no email message shall be + sent to added users. """ __slots__ = [ @@ -194,8 +199,8 @@ def __init__(self, @property def members(self): """ - User which should be added to the Paper doc. Specify only email or - Dropbox account id. + User which should be added to the Paper doc. Specify only email address + or Dropbox account ID. :rtype: list of [AddMember] """ @@ -245,8 +250,8 @@ def custom_message(self): @property def quiet(self): """ - Clients should set this to true if no email shall be sent to added - users. + Clients should set this to true if no email message shall be sent to + added users. :rtype: bool """ @@ -644,13 +649,13 @@ class DocSubscriptionLevel(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar default: No change e-mails unless you're the creator. - :ivar ignore: Ignored: Not shown in pad lists or activity and no email is - sent. - :ivar every: Subscribed: Shown in pad lists and activity and change e-mails - are sent. + :ivar default: No change email messages unless you're the creator. + :ivar ignore: Ignored: Not shown in pad lists or activity and no email + message is sent. + :ivar every: Subscribed: Shown in pad lists and activity and change email + messages are sent. :ivar no_email: Unsubscribed: Shown in pad lists, but not in activity and no - change e-mails are sent. + change email messages are sent. """ _catch_all = None @@ -753,7 +758,7 @@ class Folder(object): """ Data structure representing a Paper folder. - :ivar id: Paper folder id. This id uniquely identifies the folder. + :ivar id: Paper folder ID. This ID uniquely identifies the folder. :ivar name: Paper folder name. """ @@ -781,7 +786,7 @@ def __init__(self, @property def id(self): """ - Paper folder id. This id uniquely identifies the folder. + Paper folder ID. This ID uniquely identifies the folder. :rtype: str """ @@ -881,10 +886,10 @@ class FolderSubscriptionLevel(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar none: Not shown in activity, no e-mails. - :ivar activity_only: Shown in activity, no e-mails. - :ivar daily_emails: Shown in activity, daily e-mails. - :ivar weekly_emails: Shown in activity, weekly e-mails. + :ivar none: Not shown in activity, no email messages. + :ivar activity_only: Shown in activity, no email messages. + :ivar daily_emails: Shown in activity, daily email messages. + :ivar weekly_emails: Shown in activity, weekly email messages. """ _catch_all = None @@ -1027,7 +1032,7 @@ def __repr__(self): class InviteeInfoWithPermissionLevel(object): """ - :ivar invitee: Email invited to the Paper doc. + :ivar invitee: Email address invited to the Paper doc. :ivar permission_level: Permission level for the invitee. """ @@ -1055,7 +1060,7 @@ def __init__(self, @property def invitee(self): """ - Email invited to the Paper doc. + Email address invited to the Paper doc. :rtype: sharing.InviteeInfo_validator """ @@ -1368,9 +1373,9 @@ class ListPaperDocsFilterBy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar docs_accessed: Fetches all Paper doc ids that the user has ever + :ivar docs_accessed: Fetches all Paper doc IDs that the user has ever accessed. - :ivar docs_created: Fetches only the Paper doc ids that the user has + :ivar docs_created: Fetches only the Paper doc IDs that the user has created. """ @@ -1413,7 +1418,7 @@ def __repr__(self): class ListPaperDocsResponse(object): """ - :ivar doc_ids: The list of Paper doc ids that can be used to access the + :ivar doc_ids: The list of Paper doc IDs that can be used to access the given Paper docs or supplied to other API methods. The list is sorted in the order specified by the initial call to :meth:`dropbox.dropbox.Dropbox.paper_docs_list`. @@ -1459,7 +1464,7 @@ def __init__(self, @property def doc_ids(self): """ - The list of Paper doc ids that can be used to access the given Paper + The list of Paper doc IDs that can be used to access the given Paper docs or supplied to other API methods. The list is sorted in the order specified by the initial call to :meth:`dropbox.dropbox.Dropbox.paper_docs_list`. @@ -2443,7 +2448,7 @@ def __repr__(self): class PaperDocExportResult(object): """ - :ivar owner: The Paper doc owner's email. + :ivar owner: The Paper doc owner's email address. :ivar title: The Paper doc title. :ivar revision: The Paper doc revision. Simply an ever increasing number. :ivar mime_type: MIME type of the export. This corresponds to @@ -2488,7 +2493,7 @@ def __init__(self, @property def owner(self): """ - The Paper doc owner's email. + The Paper doc owner's email address. :rtype: str """ @@ -2691,7 +2696,7 @@ def __repr__(self): class RemovePaperDocUser(RefPaperDoc): """ :ivar member: User which should be removed from the Paper doc. Specify only - email or Dropbox account id. + email address or Dropbox account ID. """ __slots__ = [ @@ -2713,8 +2718,8 @@ def __init__(self, @property def member(self): """ - User which should be removed from the Paper doc. Specify only email or - Dropbox account id. + User which should be removed from the Paper doc. Specify only email + address or Dropbox account ID. :rtype: sharing.MemberSelector_validator """ @@ -3040,7 +3045,7 @@ def __repr__(self): UserOnPaperDocFilter_validator = bv.Union(UserOnPaperDocFilter) -# Paper doc id. +# Paper doc ID. PaperDocId_validator = bv.String() AddMember._permission_level_validator = PaperDocPermissionLevel_validator AddMember._member_validator = sharing.MemberSelector_validator @@ -3643,3 +3648,4 @@ def __repr__(self): 'docs/users/list/continue': docs_users_list_continue, 'docs/users/remove': docs_users_remove, } + diff --git a/dropbox/properties.py b/dropbox/properties.py index 7bb3c1fe..f6f4bd81 100644 --- a/dropbox/properties.py +++ b/dropbox/properties.py @@ -832,3 +832,4 @@ def __repr__(self): ROUTES = { } + diff --git a/dropbox/sharing.py b/dropbox/sharing.py index 191cadbd..034e33ec 100644 --- a/dropbox/sharing.py +++ b/dropbox/sharing.py @@ -22,6 +22,7 @@ files, team_common, users, + users_common, ) except (SystemError, ValueError): import async @@ -29,6 +30,7 @@ import files import team_common import users + import users_common class AccessLevel(bb.Union): """ @@ -1126,6 +1128,122 @@ def __repr__(self): AddMemberSelectorError_validator = bv.Union(AddMemberSelectorError) +class AudienceRestrictingSharedFolder(object): + """ + Information about the shared folder that prevents the link audience for this + link from being more restrictive. + + :ivar shared_folder_id: The ID of the shared folder. + :ivar name: The name of the shared folder. + :ivar audience: The link audience of the shared folder. + """ + + __slots__ = [ + '_shared_folder_id_value', + '_shared_folder_id_present', + '_name_value', + '_name_present', + '_audience_value', + '_audience_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_folder_id=None, + name=None, + audience=None): + self._shared_folder_id_value = None + self._shared_folder_id_present = False + self._name_value = None + self._name_present = False + self._audience_value = None + self._audience_present = False + if shared_folder_id is not None: + self.shared_folder_id = shared_folder_id + if name is not None: + self.name = name + if audience is not None: + self.audience = audience + + @property + def shared_folder_id(self): + """ + The ID of the shared folder. + + :rtype: str + """ + if self._shared_folder_id_present: + return self._shared_folder_id_value + else: + raise AttributeError("missing required field 'shared_folder_id'") + + @shared_folder_id.setter + def shared_folder_id(self, val): + val = self._shared_folder_id_validator.validate(val) + self._shared_folder_id_value = val + self._shared_folder_id_present = True + + @shared_folder_id.deleter + def shared_folder_id(self): + self._shared_folder_id_value = None + self._shared_folder_id_present = False + + @property + def name(self): + """ + The name of the shared folder. + + :rtype: str + """ + if self._name_present: + return self._name_value + else: + raise AttributeError("missing required field 'name'") + + @name.setter + def name(self, val): + val = self._name_validator.validate(val) + self._name_value = val + self._name_present = True + + @name.deleter + def name(self): + self._name_value = None + self._name_present = False + + @property + def audience(self): + """ + The link audience of the shared folder. + + :rtype: LinkAudience + """ + if self._audience_present: + return self._audience_value + else: + raise AttributeError("missing required field 'audience'") + + @audience.setter + def audience(self, val): + self._audience_validator.validate_type_only(val) + self._audience_value = val + self._audience_present = True + + @audience.deleter + def audience(self): + self._audience_value = None + self._audience_present = False + + def __repr__(self): + return 'AudienceRestrictingSharedFolder(shared_folder_id={!r}, name={!r}, audience={!r})'.format( + self._shared_folder_id_value, + self._name_value, + self._audience_value, + ) + +AudienceRestrictingSharedFolder_validator = bv.Struct(AudienceRestrictingSharedFolder) + class ChangeFileMemberAccessArgs(object): """ Arguments for @@ -1756,83 +1874,386 @@ def __repr__(self): CreateSharedLinkWithSettingsError_validator = bv.Union(CreateSharedLinkWithSettingsError) -class FileAction(bb.Union): +class SharedContentLinkMetadataBase(object): """ - Sharing actions that may be taken on files. - - This class acts as a tagged union. Only one of the ``is_*`` methods will - return true. To get the associated value of a tag (if one exists), use the - corresponding ``get_*`` method. - - :ivar disable_viewer_info: Disable viewer information on the file. - :ivar edit_contents: Change or edit contents of the file. - :ivar enable_viewer_info: Enable viewer information on the file. - :ivar invite_viewer: Add a member with view permissions. - :ivar invite_viewer_no_comment: Add a member with view permissions but no - comment permissions. - :ivar unshare: Stop sharing this file. - :ivar relinquish_membership: Relinquish one's own membership to the file. - :ivar share_link: This action is deprecated. Use create_link instead. - :ivar create_link: Create a shared link to the file. + :ivar access_level: The access level on the link for this file. + :ivar audience_options: The audience options that are available for the + content. Some audience options may be unavailable. For example, + team_only may be unavailable if the content is not owned by a user on a + team. The 'default' audience option is always available if the user can + modify link settings. + :ivar audience_restricting_shared_folder: The shared folder that prevents + the link audience for this link from being more restrictive. + :ivar current_audience: The current audience of the link. + :ivar expiry: Whether the link has an expiry set on it. A link with an + expiry will have its audience changed to members when the expiry is + reached. + :ivar link_permissions: A list of permissions for actions you can perform on + the link. + :ivar password_protected: Whether the link is protected by a password. """ - _catch_all = 'other' - # Attribute is overwritten below the class definition - disable_viewer_info = None - # Attribute is overwritten below the class definition - edit_contents = None - # Attribute is overwritten below the class definition - enable_viewer_info = None - # Attribute is overwritten below the class definition - invite_viewer = None - # Attribute is overwritten below the class definition - invite_viewer_no_comment = None - # Attribute is overwritten below the class definition - unshare = None - # Attribute is overwritten below the class definition - relinquish_membership = None - # Attribute is overwritten below the class definition - share_link = None - # Attribute is overwritten below the class definition - create_link = None - # Attribute is overwritten below the class definition - other = None - - def is_disable_viewer_info(self): - """ - Check if the union tag is ``disable_viewer_info``. + __slots__ = [ + '_access_level_value', + '_access_level_present', + '_audience_options_value', + '_audience_options_present', + '_audience_restricting_shared_folder_value', + '_audience_restricting_shared_folder_present', + '_current_audience_value', + '_current_audience_present', + '_expiry_value', + '_expiry_present', + '_link_permissions_value', + '_link_permissions_present', + '_password_protected_value', + '_password_protected_present', + ] - :rtype: bool - """ - return self._tag == 'disable_viewer_info' + _has_required_fields = True - def is_edit_contents(self): - """ - Check if the union tag is ``edit_contents``. + def __init__(self, + audience_options=None, + current_audience=None, + link_permissions=None, + password_protected=None, + access_level=None, + audience_restricting_shared_folder=None, + expiry=None): + self._access_level_value = None + self._access_level_present = False + self._audience_options_value = None + self._audience_options_present = False + self._audience_restricting_shared_folder_value = None + self._audience_restricting_shared_folder_present = False + self._current_audience_value = None + self._current_audience_present = False + self._expiry_value = None + self._expiry_present = False + self._link_permissions_value = None + self._link_permissions_present = False + self._password_protected_value = None + self._password_protected_present = False + if access_level is not None: + self.access_level = access_level + if audience_options is not None: + self.audience_options = audience_options + if audience_restricting_shared_folder is not None: + self.audience_restricting_shared_folder = audience_restricting_shared_folder + if current_audience is not None: + self.current_audience = current_audience + if expiry is not None: + self.expiry = expiry + if link_permissions is not None: + self.link_permissions = link_permissions + if password_protected is not None: + self.password_protected = password_protected - :rtype: bool + @property + def access_level(self): """ - return self._tag == 'edit_contents' + The access level on the link for this file. - def is_enable_viewer_info(self): + :rtype: AccessLevel """ - Check if the union tag is ``enable_viewer_info``. + if self._access_level_present: + return self._access_level_value + else: + return None - :rtype: bool - """ - return self._tag == 'enable_viewer_info' + @access_level.setter + def access_level(self, val): + if val is None: + del self.access_level + return + self._access_level_validator.validate_type_only(val) + self._access_level_value = val + self._access_level_present = True - def is_invite_viewer(self): - """ - Check if the union tag is ``invite_viewer``. + @access_level.deleter + def access_level(self): + self._access_level_value = None + self._access_level_present = False - :rtype: bool + @property + def audience_options(self): """ - return self._tag == 'invite_viewer' + The audience options that are available for the content. Some audience + options may be unavailable. For example, team_only may be unavailable if + the content is not owned by a user on a team. The 'default' audience + option is always available if the user can modify link settings. - def is_invite_viewer_no_comment(self): + :rtype: list of [LinkAudience] """ - Check if the union tag is ``invite_viewer_no_comment``. + if self._audience_options_present: + return self._audience_options_value + else: + raise AttributeError("missing required field 'audience_options'") + + @audience_options.setter + def audience_options(self, val): + val = self._audience_options_validator.validate(val) + self._audience_options_value = val + self._audience_options_present = True + + @audience_options.deleter + def audience_options(self): + self._audience_options_value = None + self._audience_options_present = False + + @property + def audience_restricting_shared_folder(self): + """ + The shared folder that prevents the link audience for this link from + being more restrictive. + + :rtype: AudienceRestrictingSharedFolder + """ + if self._audience_restricting_shared_folder_present: + return self._audience_restricting_shared_folder_value + else: + return None + + @audience_restricting_shared_folder.setter + def audience_restricting_shared_folder(self, val): + if val is None: + del self.audience_restricting_shared_folder + return + self._audience_restricting_shared_folder_validator.validate_type_only(val) + self._audience_restricting_shared_folder_value = val + self._audience_restricting_shared_folder_present = True + + @audience_restricting_shared_folder.deleter + def audience_restricting_shared_folder(self): + self._audience_restricting_shared_folder_value = None + self._audience_restricting_shared_folder_present = False + + @property + def current_audience(self): + """ + The current audience of the link. + + :rtype: LinkAudience + """ + if self._current_audience_present: + return self._current_audience_value + else: + raise AttributeError("missing required field 'current_audience'") + + @current_audience.setter + def current_audience(self, val): + self._current_audience_validator.validate_type_only(val) + self._current_audience_value = val + self._current_audience_present = True + + @current_audience.deleter + def current_audience(self): + self._current_audience_value = None + self._current_audience_present = False + + @property + def expiry(self): + """ + Whether the link has an expiry set on it. A link with an expiry will + have its audience changed to members when the expiry is reached. + + :rtype: datetime.datetime + """ + if self._expiry_present: + return self._expiry_value + else: + return None + + @expiry.setter + def expiry(self, val): + if val is None: + del self.expiry + return + val = self._expiry_validator.validate(val) + self._expiry_value = val + self._expiry_present = True + + @expiry.deleter + def expiry(self): + self._expiry_value = None + self._expiry_present = False + + @property + def link_permissions(self): + """ + A list of permissions for actions you can perform on the link. + + :rtype: list of [LinkPermission] + """ + if self._link_permissions_present: + return self._link_permissions_value + else: + raise AttributeError("missing required field 'link_permissions'") + + @link_permissions.setter + def link_permissions(self, val): + val = self._link_permissions_validator.validate(val) + self._link_permissions_value = val + self._link_permissions_present = True + + @link_permissions.deleter + def link_permissions(self): + self._link_permissions_value = None + self._link_permissions_present = False + + @property + def password_protected(self): + """ + Whether the link is protected by a password. + + :rtype: bool + """ + if self._password_protected_present: + return self._password_protected_value + else: + raise AttributeError("missing required field 'password_protected'") + + @password_protected.setter + def password_protected(self, val): + val = self._password_protected_validator.validate(val) + self._password_protected_value = val + self._password_protected_present = True + + @password_protected.deleter + def password_protected(self): + self._password_protected_value = None + self._password_protected_present = False + + def __repr__(self): + return 'SharedContentLinkMetadataBase(audience_options={!r}, current_audience={!r}, link_permissions={!r}, password_protected={!r}, access_level={!r}, audience_restricting_shared_folder={!r}, expiry={!r})'.format( + self._audience_options_value, + self._current_audience_value, + self._link_permissions_value, + self._password_protected_value, + self._access_level_value, + self._audience_restricting_shared_folder_value, + self._expiry_value, + ) + +SharedContentLinkMetadataBase_validator = bv.Struct(SharedContentLinkMetadataBase) + +class ExpectedSharedContentLinkMetadata(SharedContentLinkMetadataBase): + """ + The expected metadata of a shared link for a file or folder when a link is + first created for the content. Absent if the link already exists. + """ + + __slots__ = [ + ] + + _has_required_fields = True + + def __init__(self, + audience_options=None, + current_audience=None, + link_permissions=None, + password_protected=None, + access_level=None, + audience_restricting_shared_folder=None, + expiry=None): + super(ExpectedSharedContentLinkMetadata, self).__init__(audience_options, + current_audience, + link_permissions, + password_protected, + access_level, + audience_restricting_shared_folder, + expiry) + + def __repr__(self): + return 'ExpectedSharedContentLinkMetadata(audience_options={!r}, current_audience={!r}, link_permissions={!r}, password_protected={!r}, access_level={!r}, audience_restricting_shared_folder={!r}, expiry={!r})'.format( + self._audience_options_value, + self._current_audience_value, + self._link_permissions_value, + self._password_protected_value, + self._access_level_value, + self._audience_restricting_shared_folder_value, + self._expiry_value, + ) + +ExpectedSharedContentLinkMetadata_validator = bv.Struct(ExpectedSharedContentLinkMetadata) + +class FileAction(bb.Union): + """ + Sharing actions that may be taken on files. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar disable_viewer_info: Disable viewer information on the file. + :ivar edit_contents: Change or edit contents of the file. + :ivar enable_viewer_info: Enable viewer information on the file. + :ivar invite_viewer: Add a member with view permissions. + :ivar invite_viewer_no_comment: Add a member with view permissions but no + comment permissions. + :ivar unshare: Stop sharing this file. + :ivar relinquish_membership: Relinquish one's own membership to the file. + :ivar share_link: This action is deprecated. Use create_link instead. + :ivar create_link: Create a shared link to the file. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disable_viewer_info = None + # Attribute is overwritten below the class definition + edit_contents = None + # Attribute is overwritten below the class definition + enable_viewer_info = None + # Attribute is overwritten below the class definition + invite_viewer = None + # Attribute is overwritten below the class definition + invite_viewer_no_comment = None + # Attribute is overwritten below the class definition + unshare = None + # Attribute is overwritten below the class definition + relinquish_membership = None + # Attribute is overwritten below the class definition + share_link = None + # Attribute is overwritten below the class definition + create_link = None + # Attribute is overwritten below the class definition + other = None + + def is_disable_viewer_info(self): + """ + Check if the union tag is ``disable_viewer_info``. + + :rtype: bool + """ + return self._tag == 'disable_viewer_info' + + def is_edit_contents(self): + """ + Check if the union tag is ``edit_contents``. + + :rtype: bool + """ + return self._tag == 'edit_contents' + + def is_enable_viewer_info(self): + """ + Check if the union tag is ``enable_viewer_info``. + + :rtype: bool + """ + return self._tag == 'enable_viewer_info' + + def is_invite_viewer(self): + """ + Check if the union tag is ``invite_viewer``. + + :rtype: bool + """ + return self._tag == 'invite_viewer' + + def is_invite_viewer_no_comment(self): + """ + Check if the union tag is ``invite_viewer_no_comment``. :rtype: bool """ @@ -3531,7 +3952,10 @@ class GetFileMetadataArg(object): Arguments of :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata`. :ivar file: The file to query. - :ivar actions: File actions to query. + :ivar actions: A list of `FileAction`s corresponding to `FilePermission`s + that should appear in the response's ``SharedFileMetadata.permissions`` + field describing the actions the authenticated user can perform on the + file. """ __slots__ = [ @@ -3581,7 +4005,9 @@ def file(self): @property def actions(self): """ - File actions to query. + A list of `FileAction`s corresponding to `FilePermission`s that should + appear in the response's ``SharedFileMetadata.permissions`` field + describing the actions the authenticated user can perform on the file. :rtype: list of [FileAction] """ @@ -3618,7 +4044,10 @@ class GetFileMetadataBatchArg(object): :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata_batch`. :ivar files: The files to query. - :ivar actions: File actions to query. + :ivar actions: A list of `FileAction`s corresponding to `FilePermission`s + that should appear in the response's ``SharedFileMetadata.permissions`` + field describing the actions the authenticated user can perform on the + file. """ __slots__ = [ @@ -3668,7 +4097,9 @@ def files(self): @property def actions(self): """ - File actions to query. + A list of `FileAction`s corresponding to `FilePermission`s that should + appear in the response's ``SharedFileMetadata.permissions`` field + describing the actions the authenticated user can perform on the file. :rtype: list of [FileAction] """ @@ -3963,9 +4394,10 @@ def __repr__(self): class GetMetadataArgs(object): """ :ivar shared_folder_id: The ID for the shared folder. - :ivar actions: This is a list indicating whether the returned folder data - will include a boolean value ``FolderPermission.allow`` that describes - whether the current user can perform the FolderAction on the folder. + :ivar actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions the + authenticated user can perform on the folder. """ __slots__ = [ @@ -4015,9 +4447,10 @@ def shared_folder_id(self): @property def actions(self): """ - This is a list indicating whether the returned folder data will include - a boolean value ``FolderPermission.allow`` that describes whether the - current user can perform the FolderAction on the folder. + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's ``SharedFolderMetadata.permissions`` + field describing the actions the authenticated user can perform on the + folder. :rtype: list of [FolderAction] """ @@ -5267,6 +5700,7 @@ class LinkAction(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. + :ivar change_access_level: Change the access level of the link. :ivar change_audience: Change the audience of the link. :ivar remove_expiry: Remove the expiry date of the link. :ivar remove_password: Remove the password of the link. @@ -5276,6 +5710,8 @@ class LinkAction(bb.Union): _catch_all = 'other' # Attribute is overwritten below the class definition + change_access_level = None + # Attribute is overwritten below the class definition change_audience = None # Attribute is overwritten below the class definition remove_expiry = None @@ -5288,6 +5724,14 @@ class LinkAction(bb.Union): # Attribute is overwritten below the class definition other = None + def is_change_access_level(self): + """ + Check if the union tag is ``change_access_level``. + + :rtype: bool + """ + return self._tag == 'change_access_level' + def is_change_audience(self): """ Check if the union tag is ``change_audience``. @@ -5820,12 +6264,16 @@ class LinkSettings(object): """ Settings that apply to a link. + :ivar access_level: The access level on the link for this file. Currently, + it only accepts 'viewer' and 'viewer_no_comment'. :ivar audience: The type of audience on the link for this file. :ivar expiry: An expiry timestamp to set on a link. :ivar password: The password for the link. """ __slots__ = [ + '_access_level_value', + '_access_level_present', '_audience_value', '_audience_present', '_expiry_value', @@ -5837,15 +6285,20 @@ class LinkSettings(object): _has_required_fields = False def __init__(self, + access_level=None, audience=None, expiry=None, password=None): + self._access_level_value = None + self._access_level_present = False self._audience_value = None self._audience_present = False self._expiry_value = None self._expiry_present = False self._password_value = None self._password_present = False + if access_level is not None: + self.access_level = access_level if audience is not None: self.audience = audience if expiry is not None: @@ -5854,14 +6307,41 @@ def __init__(self, self.password = password @property - def audience(self): + def access_level(self): """ - The type of audience on the link for this file. + The access level on the link for this file. Currently, it only accepts + 'viewer' and 'viewer_no_comment'. - :rtype: LinkAudience + :rtype: AccessLevel """ - if self._audience_present: - return self._audience_value + if self._access_level_present: + return self._access_level_value + else: + return None + + @access_level.setter + def access_level(self, val): + if val is None: + del self.access_level + return + self._access_level_validator.validate_type_only(val) + self._access_level_value = val + self._access_level_present = True + + @access_level.deleter + def access_level(self): + self._access_level_value = None + self._access_level_present = False + + @property + def audience(self): + """ + The type of audience on the link for this file. + + :rtype: LinkAudience + """ + if self._audience_present: + return self._audience_value else: return None @@ -5932,7 +6412,8 @@ def password(self): self._password_present = False def __repr__(self): - return 'LinkSettings(audience={!r}, expiry={!r}, password={!r})'.format( + return 'LinkSettings(access_level={!r}, audience={!r}, expiry={!r}, password={!r})'.format( + self._access_level_value, self._audience_value, self._expiry_value, self._password_value, @@ -6683,7 +7164,10 @@ class ListFilesArg(object): :ivar limit: Number of files to return max per query. Defaults to 100 if no limit is specified. - :ivar actions: File actions to query. + :ivar actions: A list of `FileAction`s corresponding to `FilePermission`s + that should appear in the response's ``SharedFileMetadata.permissions`` + field describing the actions the authenticated user can perform on the + file. """ __slots__ = [ @@ -6734,7 +7218,9 @@ def limit(self): @property def actions(self): """ - File actions to query. + A list of `FileAction`s corresponding to `FilePermission`s that should + appear in the response's ``SharedFileMetadata.permissions`` field + describing the actions the authenticated user can perform on the file. :rtype: list of [FileAction] """ @@ -7241,10 +7727,10 @@ def __repr__(self): class ListFoldersArgs(object): """ :ivar limit: The maximum number of results to return per request. - :ivar actions: This is a list indicating whether each returned folder data - entry will include a boolean field ``FolderPermission.allow`` that - describes whether the current user can perform the `FolderAction` on the - folder. + :ivar actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions the + authenticated user can perform on the folder. """ __slots__ = [ @@ -7294,9 +7780,10 @@ def limit(self): @property def actions(self): """ - This is a list indicating whether each returned folder data entry will - include a boolean field ``FolderPermission.allow`` that describes - whether the current user can perform the `FolderAction` on the folder. + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's ``SharedFolderMetadata.permissions`` + field describing the actions the authenticated user can perform on the + folder. :rtype: list of [FolderAction] """ @@ -8686,6 +9173,8 @@ class ParentFolderAccessInfo(object): :ivar folder_name: Display name for the folder. :ivar shared_folder_id: The identifier of the parent shared folder. :ivar permissions: The user's permissions for the parent shared folder. + :ivar path: The full path to the parent shared folder relative to the acting + user's root. """ __slots__ = [ @@ -8695,6 +9184,8 @@ class ParentFolderAccessInfo(object): '_shared_folder_id_present', '_permissions_value', '_permissions_present', + '_path_value', + '_path_present', ] _has_required_fields = True @@ -8702,19 +9193,24 @@ class ParentFolderAccessInfo(object): def __init__(self, folder_name=None, shared_folder_id=None, - permissions=None): + permissions=None, + path=None): self._folder_name_value = None self._folder_name_present = False self._shared_folder_id_value = None self._shared_folder_id_present = False self._permissions_value = None self._permissions_present = False + self._path_value = None + self._path_present = False if folder_name is not None: self.folder_name = folder_name if shared_folder_id is not None: self.shared_folder_id = shared_folder_id if permissions is not None: self.permissions = permissions + if path is not None: + self.path = path @property def folder_name(self): @@ -8785,11 +9281,36 @@ def permissions(self): self._permissions_value = None self._permissions_present = False + @property + def path(self): + """ + The full path to the parent shared folder relative to the acting user's + root. + + :rtype: str + """ + if self._path_present: + return self._path_value + else: + raise AttributeError("missing required field 'path'") + + @path.setter + def path(self, val): + val = self._path_validator.validate(val) + self._path_value = val + self._path_present = True + + @path.deleter + def path(self): + self._path_value = None + self._path_present = False + def __repr__(self): - return 'ParentFolderAccessInfo(folder_name={!r}, shared_folder_id={!r}, permissions={!r})'.format( + return 'ParentFolderAccessInfo(folder_name={!r}, shared_folder_id={!r}, permissions={!r}, path={!r})'.format( self._folder_name_value, self._shared_folder_id_value, self._permissions_value, + self._path_value, ) ParentFolderAccessInfo_validator = bv.Struct(ParentFolderAccessInfo) @@ -10141,10 +10662,10 @@ class ShareFolderArg(object): content inside this shared folder. The current user must be on a team to set this policy to ``SharedLinkPolicy.members``. :ivar force_async: Whether to force the share to happen asynchronously. - :ivar actions: This is a list indicating whether each returned folder data - entry will include a boolean field ``FolderPermission.allow`` that - describes whether the current user can perform the `FolderAction` on the - folder. + :ivar actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions the + authenticated user can perform on the folder. :ivar link_settings: Settings on the link for this folder. :ivar viewer_info_policy: Who can enable/disable viewer info for this shared folder. @@ -10344,9 +10865,10 @@ def force_async(self): @property def actions(self): """ - This is a list indicating whether each returned folder data entry will - include a boolean field ``FolderPermission.allow`` that describes - whether the current user can perform the `FolderAction` on the folder. + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's ``SharedFolderMetadata.permissions`` + field describing the actions the authenticated user can perform on the + folder. :rtype: list of [FolderAction] """ @@ -10697,8 +11219,6 @@ class SharePathError(bb.Union): :ivar is_osx_package: We do not support sharing a Mac OS X package. :ivar inside_osx_package: We do not support sharing a folder inside a Mac OS X package. - :ivar PathRootError invalid_path_root: The path root parameter provided is - invalid. """ _catch_all = 'other' @@ -10740,17 +11260,6 @@ def already_shared(cls, val): """ return cls('already_shared', val) - @classmethod - def invalid_path_root(cls, val): - """ - Create an instance of this class set to the ``invalid_path_root`` tag - with value ``val``. - - :param files.PathRootError_validator val: - :rtype: SharePathError - """ - return cls('invalid_path_root', val) - def is_is_file(self): """ Check if the union tag is ``is_file``. @@ -10855,14 +11364,6 @@ def is_inside_osx_package(self): """ return self._tag == 'inside_osx_package' - def is_invalid_path_root(self): - """ - Check if the union tag is ``invalid_path_root``. - - :rtype: bool - """ - return self._tag == 'invalid_path_root' - def is_other(self): """ Check if the union tag is ``other``. @@ -10884,50 +11385,21 @@ def get_already_shared(self): raise AttributeError("tag 'already_shared' not set") return self._value - def get_invalid_path_root(self): - """ - The path root parameter provided is invalid. - - Only call this if :meth:`is_invalid_path_root` is true. - - :rtype: files.PathRootError_validator - """ - if not self.is_invalid_path_root(): - raise AttributeError("tag 'invalid_path_root' not set") - return self._value - def __repr__(self): return 'SharePathError(%r, %r)' % (self._tag, self._value) SharePathError_validator = bv.Union(SharePathError) -class SharedContentLinkMetadataBase(object): +class SharedContentLinkMetadata(SharedContentLinkMetadataBase): """ - :ivar audience_options: The audience options that are available for the - content. Some audience options may be unavailable. For example, - team_only may be unavailable if the content is not owned by a user on a - team. The 'default' audience option is always available if the user can - modify link settings. - :ivar current_audience: The current audience of the link. - :ivar expiry: Whether the link has an expiry set on it. A link with an - expiry will have its audience changed to members when the expiry is - reached. - :ivar link_permissions: A list of permissions for actions you can perform on - the link. - :ivar password_protected: Whether the link is protected by a password. + Metadata of a shared link for a file or folder. + + :ivar url: The URL of the link. """ __slots__ = [ - '_audience_options_value', - '_audience_options_present', - '_current_audience_value', - '_current_audience_present', - '_expiry_value', - '_expiry_present', - '_link_permissions_value', - '_link_permissions_present', - '_password_protected_value', - '_password_protected_present', + '_url_value', + '_url_present', ] _has_required_fields = True @@ -10937,257 +11409,89 @@ def __init__(self, current_audience=None, link_permissions=None, password_protected=None, + url=None, + access_level=None, + audience_restricting_shared_folder=None, expiry=None): - self._audience_options_value = None - self._audience_options_present = False - self._current_audience_value = None - self._current_audience_present = False - self._expiry_value = None - self._expiry_present = False - self._link_permissions_value = None - self._link_permissions_present = False - self._password_protected_value = None - self._password_protected_present = False - if audience_options is not None: - self.audience_options = audience_options - if current_audience is not None: - self.current_audience = current_audience - if expiry is not None: - self.expiry = expiry - if link_permissions is not None: - self.link_permissions = link_permissions - if password_protected is not None: - self.password_protected = password_protected + super(SharedContentLinkMetadata, self).__init__(audience_options, + current_audience, + link_permissions, + password_protected, + access_level, + audience_restricting_shared_folder, + expiry) + self._url_value = None + self._url_present = False + if url is not None: + self.url = url @property - def audience_options(self): + def url(self): """ - The audience options that are available for the content. Some audience - options may be unavailable. For example, team_only may be unavailable if - the content is not owned by a user on a team. The 'default' audience - option is always available if the user can modify link settings. + The URL of the link. - :rtype: list of [LinkAudience] + :rtype: str """ - if self._audience_options_present: - return self._audience_options_value + if self._url_present: + return self._url_value else: - raise AttributeError("missing required field 'audience_options'") - - @audience_options.setter - def audience_options(self, val): - val = self._audience_options_validator.validate(val) - self._audience_options_value = val - self._audience_options_present = True - - @audience_options.deleter - def audience_options(self): - self._audience_options_value = None - self._audience_options_present = False + raise AttributeError("missing required field 'url'") - @property - def current_audience(self): - """ - The current audience of the link. + @url.setter + def url(self, val): + val = self._url_validator.validate(val) + self._url_value = val + self._url_present = True - :rtype: LinkAudience - """ - if self._current_audience_present: - return self._current_audience_value - else: - raise AttributeError("missing required field 'current_audience'") + @url.deleter + def url(self): + self._url_value = None + self._url_present = False - @current_audience.setter - def current_audience(self, val): - self._current_audience_validator.validate_type_only(val) - self._current_audience_value = val - self._current_audience_present = True + def __repr__(self): + return 'SharedContentLinkMetadata(audience_options={!r}, current_audience={!r}, link_permissions={!r}, password_protected={!r}, url={!r}, access_level={!r}, audience_restricting_shared_folder={!r}, expiry={!r})'.format( + self._audience_options_value, + self._current_audience_value, + self._link_permissions_value, + self._password_protected_value, + self._url_value, + self._access_level_value, + self._audience_restricting_shared_folder_value, + self._expiry_value, + ) - @current_audience.deleter - def current_audience(self): - self._current_audience_value = None - self._current_audience_present = False +SharedContentLinkMetadata_validator = bv.Struct(SharedContentLinkMetadata) - @property - def expiry(self): - """ - Whether the link has an expiry set on it. A link with an expiry will - have its audience changed to members when the expiry is reached. +class SharedFileMembers(object): + """ + Shared file user, group, and invitee membership. Used for the results of + :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members` and + :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`, and used + as part of the results for + :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`. - :rtype: datetime.datetime - """ - if self._expiry_present: - return self._expiry_value - else: - return None + :ivar users: The list of user members of the shared file. + :ivar groups: The list of group members of the shared file. + :ivar invitees: The list of invited members of a file, but have not logged + in and claimed this. + :ivar cursor: Present if there are additional shared file members that have + not been returned yet. Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue` to + list additional members. + """ - @expiry.setter - def expiry(self, val): - if val is None: - del self.expiry - return - val = self._expiry_validator.validate(val) - self._expiry_value = val - self._expiry_present = True + __slots__ = [ + '_users_value', + '_users_present', + '_groups_value', + '_groups_present', + '_invitees_value', + '_invitees_present', + '_cursor_value', + '_cursor_present', + ] - @expiry.deleter - def expiry(self): - self._expiry_value = None - self._expiry_present = False - - @property - def link_permissions(self): - """ - A list of permissions for actions you can perform on the link. - - :rtype: list of [LinkPermission] - """ - if self._link_permissions_present: - return self._link_permissions_value - else: - raise AttributeError("missing required field 'link_permissions'") - - @link_permissions.setter - def link_permissions(self, val): - val = self._link_permissions_validator.validate(val) - self._link_permissions_value = val - self._link_permissions_present = True - - @link_permissions.deleter - def link_permissions(self): - self._link_permissions_value = None - self._link_permissions_present = False - - @property - def password_protected(self): - """ - Whether the link is protected by a password. - - :rtype: bool - """ - if self._password_protected_present: - return self._password_protected_value - else: - raise AttributeError("missing required field 'password_protected'") - - @password_protected.setter - def password_protected(self, val): - val = self._password_protected_validator.validate(val) - self._password_protected_value = val - self._password_protected_present = True - - @password_protected.deleter - def password_protected(self): - self._password_protected_value = None - self._password_protected_present = False - - def __repr__(self): - return 'SharedContentLinkMetadataBase(audience_options={!r}, current_audience={!r}, link_permissions={!r}, password_protected={!r}, expiry={!r})'.format( - self._audience_options_value, - self._current_audience_value, - self._link_permissions_value, - self._password_protected_value, - self._expiry_value, - ) - -SharedContentLinkMetadataBase_validator = bv.Struct(SharedContentLinkMetadataBase) - -class SharedContentLinkMetadata(SharedContentLinkMetadataBase): - """ - Metadata of a shared link for a file or folder. - - :ivar url: The URL of the link. - """ - - __slots__ = [ - '_url_value', - '_url_present', - ] - - _has_required_fields = True - - def __init__(self, - audience_options=None, - current_audience=None, - link_permissions=None, - password_protected=None, - url=None, - expiry=None): - super(SharedContentLinkMetadata, self).__init__(audience_options, - current_audience, - link_permissions, - password_protected, - expiry) - self._url_value = None - self._url_present = False - if url is not None: - self.url = url - - @property - def url(self): - """ - The URL of the link. - - :rtype: str - """ - if self._url_present: - return self._url_value - else: - raise AttributeError("missing required field 'url'") - - @url.setter - def url(self, val): - val = self._url_validator.validate(val) - self._url_value = val - self._url_present = True - - @url.deleter - def url(self): - self._url_value = None - self._url_present = False - - def __repr__(self): - return 'SharedContentLinkMetadata(audience_options={!r}, current_audience={!r}, link_permissions={!r}, password_protected={!r}, url={!r}, expiry={!r})'.format( - self._audience_options_value, - self._current_audience_value, - self._link_permissions_value, - self._password_protected_value, - self._url_value, - self._expiry_value, - ) - -SharedContentLinkMetadata_validator = bv.Struct(SharedContentLinkMetadata) - -class SharedFileMembers(object): - """ - Shared file user, group, and invitee membership. Used for the results of - :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members` and - :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`, and used - as part of the results for - :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`. - - :ivar users: The list of user members of the shared file. - :ivar groups: The list of group members of the shared file. - :ivar invitees: The list of invited members of a file, but have not logged - in and claimed this. - :ivar cursor: Present if there are additional shared file members that have - not been returned yet. Pass the cursor into - :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue` to - list additional members. - """ - - __slots__ = [ - '_users_value', - '_users_present', - '_groups_value', - '_groups_present', - '_invitees_value', - '_invitees_present', - '_cursor_value', - '_cursor_present', - ] - - _has_required_fields = True + _has_required_fields = True def __init__(self, users=None, @@ -11324,24 +11628,29 @@ class SharedFileMetadata(object): """ Properties of the shared file. - :ivar link_metadata: The metadata of the link associated for the file. - :ivar policy: Policies governing this shared file. - :ivar permissions: The sharing permissions that requesting user has on this - file. This corresponds to the entries given in - ``GetFileMetadataBatchArg.actions`` or ``GetFileMetadataArg.actions``. + :ivar access_type: The current user's access level for this shared file. + :ivar id: The ID of the file. + :ivar expected_link_metadata: The expected metadata of the link associated + for the file when it is first shared. Absent if the link already exists. + This is for an unreleased feature so it may not be returned yet. + :ivar link_metadata: The metadata of the link associated for the file. This + is for an unreleased feature so it may not be returned yet. + :ivar name: The name of this file. :ivar owner_team: The team that owns the file. This field is not present if the file is not owned by a team. :ivar parent_shared_folder_id: The ID of the parent shared folder. This field is present only if the file is contained within a shared folder. - :ivar preview_url: URL for displaying a web preview of the shared file. - :ivar path_lower: The lower-case full path of this file. Absent for - unmounted files. :ivar path_display: The cased path to be used for display purposes only. In rare instances the casing will not correctly match the user's filesystem, but this behavior will match the path provided in the Core API v1. Absent for unmounted files. - :ivar name: The name of this file. - :ivar id: The ID of the file. + :ivar path_lower: The lower-case full path of this file. Absent for + unmounted files. + :ivar permissions: The sharing permissions that requesting user has on this + file. This corresponds to the entries given in + ``GetFileMetadataBatchArg.actions`` or ``GetFileMetadataArg.actions``. + :ivar policy: Policies governing this shared file. + :ivar preview_url: URL for displaying a web preview of the shared file. :ivar time_invited: Timestamp indicating when the current user was invited to this shared file. If the user was not invited to the shared file, the timestamp will indicate when the user was invited to the parent shared @@ -11349,26 +11658,30 @@ class SharedFileMetadata(object): """ __slots__ = [ + '_access_type_value', + '_access_type_present', + '_id_value', + '_id_present', + '_expected_link_metadata_value', + '_expected_link_metadata_present', '_link_metadata_value', '_link_metadata_present', - '_policy_value', - '_policy_present', - '_permissions_value', - '_permissions_present', + '_name_value', + '_name_present', '_owner_team_value', '_owner_team_present', '_parent_shared_folder_id_value', '_parent_shared_folder_id_present', - '_preview_url_value', - '_preview_url_present', - '_path_lower_value', - '_path_lower_present', '_path_display_value', '_path_display_present', - '_name_value', - '_name_present', - '_id_value', - '_id_present', + '_path_lower_value', + '_path_lower_present', + '_permissions_value', + '_permissions_present', + '_policy_value', + '_policy_present', + '_preview_url_value', + '_preview_url_present', '_time_invited_value', '_time_invited_present', ] @@ -11376,66 +11689,154 @@ class SharedFileMetadata(object): _has_required_fields = True def __init__(self, + id=None, + name=None, policy=None, preview_url=None, - name=None, - id=None, + access_type=None, + expected_link_metadata=None, link_metadata=None, - permissions=None, owner_team=None, parent_shared_folder_id=None, - path_lower=None, path_display=None, + path_lower=None, + permissions=None, time_invited=None): + self._access_type_value = None + self._access_type_present = False + self._id_value = None + self._id_present = False + self._expected_link_metadata_value = None + self._expected_link_metadata_present = False self._link_metadata_value = None self._link_metadata_present = False - self._policy_value = None - self._policy_present = False - self._permissions_value = None - self._permissions_present = False + self._name_value = None + self._name_present = False self._owner_team_value = None self._owner_team_present = False self._parent_shared_folder_id_value = None self._parent_shared_folder_id_present = False - self._preview_url_value = None - self._preview_url_present = False - self._path_lower_value = None - self._path_lower_present = False self._path_display_value = None self._path_display_present = False - self._name_value = None - self._name_present = False - self._id_value = None - self._id_present = False + self._path_lower_value = None + self._path_lower_present = False + self._permissions_value = None + self._permissions_present = False + self._policy_value = None + self._policy_present = False + self._preview_url_value = None + self._preview_url_present = False self._time_invited_value = None self._time_invited_present = False + if access_type is not None: + self.access_type = access_type + if id is not None: + self.id = id + if expected_link_metadata is not None: + self.expected_link_metadata = expected_link_metadata if link_metadata is not None: self.link_metadata = link_metadata - if policy is not None: - self.policy = policy - if permissions is not None: - self.permissions = permissions + if name is not None: + self.name = name if owner_team is not None: self.owner_team = owner_team if parent_shared_folder_id is not None: self.parent_shared_folder_id = parent_shared_folder_id - if preview_url is not None: - self.preview_url = preview_url - if path_lower is not None: - self.path_lower = path_lower if path_display is not None: self.path_display = path_display - if name is not None: - self.name = name - if id is not None: - self.id = id + if path_lower is not None: + self.path_lower = path_lower + if permissions is not None: + self.permissions = permissions + if policy is not None: + self.policy = policy + if preview_url is not None: + self.preview_url = preview_url if time_invited is not None: self.time_invited = time_invited + @property + def access_type(self): + """ + The current user's access level for this shared file. + + :rtype: AccessLevel + """ + if self._access_type_present: + return self._access_type_value + else: + return None + + @access_type.setter + def access_type(self, val): + if val is None: + del self.access_type + return + self._access_type_validator.validate_type_only(val) + self._access_type_value = val + self._access_type_present = True + + @access_type.deleter + def access_type(self): + self._access_type_value = None + self._access_type_present = False + + @property + def id(self): + """ + The ID of the file. + + :rtype: str + """ + if self._id_present: + return self._id_value + else: + raise AttributeError("missing required field 'id'") + + @id.setter + def id(self, val): + val = self._id_validator.validate(val) + self._id_value = val + self._id_present = True + + @id.deleter + def id(self): + self._id_value = None + self._id_present = False + + @property + def expected_link_metadata(self): + """ + The expected metadata of the link associated for the file when it is + first shared. Absent if the link already exists. This is for an + unreleased feature so it may not be returned yet. + + :rtype: ExpectedSharedContentLinkMetadata + """ + if self._expected_link_metadata_present: + return self._expected_link_metadata_value + else: + return None + + @expected_link_metadata.setter + def expected_link_metadata(self, val): + if val is None: + del self.expected_link_metadata + return + self._expected_link_metadata_validator.validate_type_only(val) + self._expected_link_metadata_value = val + self._expected_link_metadata_present = True + + @expected_link_metadata.deleter + def expected_link_metadata(self): + self._expected_link_metadata_value = None + self._expected_link_metadata_present = False + @property def link_metadata(self): """ - The metadata of the link associated for the file. + The metadata of the link associated for the file. This is for an + unreleased feature so it may not be returned yet. :rtype: SharedContentLinkMetadata """ @@ -11459,55 +11860,27 @@ def link_metadata(self): self._link_metadata_present = False @property - def policy(self): - """ - Policies governing this shared file. - - :rtype: FolderPolicy - """ - if self._policy_present: - return self._policy_value - else: - raise AttributeError("missing required field 'policy'") - - @policy.setter - def policy(self, val): - self._policy_validator.validate_type_only(val) - self._policy_value = val - self._policy_present = True - - @policy.deleter - def policy(self): - self._policy_value = None - self._policy_present = False - - @property - def permissions(self): + def name(self): """ - The sharing permissions that requesting user has on this file. This - corresponds to the entries given in ``GetFileMetadataBatchArg.actions`` - or ``GetFileMetadataArg.actions``. + The name of this file. - :rtype: list of [FilePermission] + :rtype: str """ - if self._permissions_present: - return self._permissions_value + if self._name_present: + return self._name_value else: - return None + raise AttributeError("missing required field 'name'") - @permissions.setter - def permissions(self, val): - if val is None: - del self.permissions - return - val = self._permissions_validator.validate(val) - self._permissions_value = val - self._permissions_present = True + @name.setter + def name(self, val): + val = self._name_validator.validate(val) + self._name_value = val + self._name_present = True - @permissions.deleter - def permissions(self): - self._permissions_value = None - self._permissions_present = False + @name.deleter + def name(self): + self._name_value = None + self._name_present = False @property def owner_team(self): @@ -11564,27 +11937,33 @@ def parent_shared_folder_id(self): self._parent_shared_folder_id_present = False @property - def preview_url(self): + def path_display(self): """ - URL for displaying a web preview of the shared file. + The cased path to be used for display purposes only. In rare instances + the casing will not correctly match the user's filesystem, but this + behavior will match the path provided in the Core API v1. Absent for + unmounted files. :rtype: str """ - if self._preview_url_present: - return self._preview_url_value - else: - raise AttributeError("missing required field 'preview_url'") - - @preview_url.setter - def preview_url(self, val): - val = self._preview_url_validator.validate(val) - self._preview_url_value = val - self._preview_url_present = True + if self._path_display_present: + return self._path_display_value + else: + return None - @preview_url.deleter - def preview_url(self): - self._preview_url_value = None - self._preview_url_present = False + @path_display.setter + def path_display(self, val): + if val is None: + del self.path_display + return + val = self._path_display_validator.validate(val) + self._path_display_value = val + self._path_display_present = True + + @path_display.deleter + def path_display(self): + self._path_display_value = None + self._path_display_present = False @property def path_lower(self): @@ -11613,79 +11992,78 @@ def path_lower(self): self._path_lower_present = False @property - def path_display(self): + def permissions(self): """ - The cased path to be used for display purposes only. In rare instances - the casing will not correctly match the user's filesystem, but this - behavior will match the path provided in the Core API v1. Absent for - unmounted files. + The sharing permissions that requesting user has on this file. This + corresponds to the entries given in ``GetFileMetadataBatchArg.actions`` + or ``GetFileMetadataArg.actions``. - :rtype: str + :rtype: list of [FilePermission] """ - if self._path_display_present: - return self._path_display_value + if self._permissions_present: + return self._permissions_value else: return None - @path_display.setter - def path_display(self, val): + @permissions.setter + def permissions(self, val): if val is None: - del self.path_display + del self.permissions return - val = self._path_display_validator.validate(val) - self._path_display_value = val - self._path_display_present = True + val = self._permissions_validator.validate(val) + self._permissions_value = val + self._permissions_present = True - @path_display.deleter - def path_display(self): - self._path_display_value = None - self._path_display_present = False + @permissions.deleter + def permissions(self): + self._permissions_value = None + self._permissions_present = False @property - def name(self): + def policy(self): """ - The name of this file. + Policies governing this shared file. - :rtype: str + :rtype: FolderPolicy """ - if self._name_present: - return self._name_value + if self._policy_present: + return self._policy_value else: - raise AttributeError("missing required field 'name'") + raise AttributeError("missing required field 'policy'") - @name.setter - def name(self, val): - val = self._name_validator.validate(val) - self._name_value = val - self._name_present = True + @policy.setter + def policy(self, val): + self._policy_validator.validate_type_only(val) + self._policy_value = val + self._policy_present = True - @name.deleter - def name(self): - self._name_value = None - self._name_present = False + @policy.deleter + def policy(self): + self._policy_value = None + self._policy_present = False @property - def id(self): + def preview_url(self): """ - The ID of the file. + URL for displaying a web preview of the shared file. :rtype: str """ - if self._id_present: - return self._id_value + if self._preview_url_present: + return self._preview_url_value else: - raise AttributeError("missing required field 'id'") + raise AttributeError("missing required field 'preview_url'") - @id.setter - def id(self, val): - val = self._id_validator.validate(val) - self._id_value = val - self._id_present = True + @preview_url.setter + def preview_url(self, val): + val = self._preview_url_validator.validate(val) + self._preview_url_value = val + self._preview_url_present = True - @id.deleter - def id(self): - self._id_value = None - self._id_present = False + @preview_url.deleter + def preview_url(self): + self._preview_url_value = None + self._preview_url_present = False @property def time_invited(self): @@ -11717,17 +12095,19 @@ def time_invited(self): self._time_invited_present = False def __repr__(self): - return 'SharedFileMetadata(policy={!r}, preview_url={!r}, name={!r}, id={!r}, link_metadata={!r}, permissions={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_lower={!r}, path_display={!r}, time_invited={!r})'.format( + return 'SharedFileMetadata(id={!r}, name={!r}, policy={!r}, preview_url={!r}, access_type={!r}, expected_link_metadata={!r}, link_metadata={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_display={!r}, path_lower={!r}, permissions={!r}, time_invited={!r})'.format( + self._id_value, + self._name_value, self._policy_value, self._preview_url_value, - self._name_value, - self._id_value, + self._access_type_value, + self._expected_link_metadata_value, self._link_metadata_value, - self._permissions_value, self._owner_team_value, self._parent_shared_folder_id_value, - self._path_lower_value, self._path_display_value, + self._path_lower_value, + self._permissions_value, self._time_invited_value, ) @@ -12276,7 +12656,8 @@ class SharedFolderMetadata(SharedFolderMetadataBase): The metadata which includes basic information about the shared folder. :ivar link_metadata: The metadata of the shared content link to this shared - folder. Absent if there is no link on the folder. + folder. Absent if there is no link on the folder. This is for an + unreleased feature so it may not be returned yet. :ivar name: The name of the this shared folder. :ivar permissions: Actions the current user may perform on the folder and its contents. The set of permissions corresponds to the FolderActions in @@ -12360,7 +12741,8 @@ def __init__(self, def link_metadata(self): """ The metadata of the shared content link to this shared folder. Absent if - there is no link on the folder. + there is no link on the folder. This is for an unreleased feature so it + may not be returned yet. :rtype: SharedContentLinkMetadata """ @@ -14045,6 +14427,10 @@ class UpdateFolderPolicyArg(object): content inside this shared folder. The current user must be on a team to set this policy to ``SharedLinkPolicy.members``. :ivar link_settings: Settings on the link for this folder. + :ivar actions: A list of `FolderAction`s corresponding to + `FolderPermission`s that should appear in the response's + ``SharedFolderMetadata.permissions`` field describing the actions the + authenticated user can perform on the folder. """ __slots__ = [ @@ -14060,6 +14446,8 @@ class UpdateFolderPolicyArg(object): '_shared_link_policy_present', '_link_settings_value', '_link_settings_present', + '_actions_value', + '_actions_present', ] _has_required_fields = True @@ -14070,7 +14458,8 @@ def __init__(self, acl_update_policy=None, viewer_info_policy=None, shared_link_policy=None, - link_settings=None): + link_settings=None, + actions=None): self._shared_folder_id_value = None self._shared_folder_id_present = False self._member_policy_value = None @@ -14083,6 +14472,8 @@ def __init__(self, self._shared_link_policy_present = False self._link_settings_value = None self._link_settings_present = False + self._actions_value = None + self._actions_present = False if shared_folder_id is not None: self.shared_folder_id = shared_folder_id if member_policy is not None: @@ -14095,6 +14486,8 @@ def __init__(self, self.shared_link_policy = shared_link_policy if link_settings is not None: self.link_settings = link_settings + if actions is not None: + self.actions = actions @property def shared_folder_id(self): @@ -14252,14 +14645,44 @@ def link_settings(self): self._link_settings_value = None self._link_settings_present = False + @property + def actions(self): + """ + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's ``SharedFolderMetadata.permissions`` + field describing the actions the authenticated user can perform on the + folder. + + :rtype: list of [FolderAction] + """ + if self._actions_present: + return self._actions_value + else: + return None + + @actions.setter + def actions(self, val): + if val is None: + del self.actions + return + val = self._actions_validator.validate(val) + self._actions_value = val + self._actions_present = True + + @actions.deleter + def actions(self): + self._actions_value = None + self._actions_present = False + def __repr__(self): - return 'UpdateFolderPolicyArg(shared_folder_id={!r}, member_policy={!r}, acl_update_policy={!r}, viewer_info_policy={!r}, shared_link_policy={!r}, link_settings={!r})'.format( + return 'UpdateFolderPolicyArg(shared_folder_id={!r}, member_policy={!r}, acl_update_policy={!r}, viewer_info_policy={!r}, shared_link_policy={!r}, link_settings={!r}, actions={!r})'.format( self._shared_folder_id_value, self._member_policy_value, self._acl_update_policy_value, self._viewer_info_policy_value, self._shared_link_policy_value, self._link_settings_value, + self._actions_value, ) UpdateFolderPolicyArg_validator = bv.Struct(UpdateFolderPolicyArg) @@ -14278,6 +14701,7 @@ class UpdateFolderPolicyError(bb.Union): select the specified ``ShareFolderArg.shared_link_policy``. :ivar no_permission: The current user does not have permission to perform this action. + :ivar team_folder: This action cannot be performed on a team shared folder. """ _catch_all = 'other' @@ -14290,6 +14714,8 @@ class UpdateFolderPolicyError(bb.Union): # Attribute is overwritten below the class definition no_permission = None # Attribute is overwritten below the class definition + team_folder = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -14343,6 +14769,14 @@ def is_no_permission(self): """ return self._tag == 'no_permission' + def is_team_folder(self): + """ + Check if the union tag is ``team_folder``. + + :rtype: bool + """ + return self._tag == 'team_folder' + def is_other(self): """ Check if the union tag is ``other``. @@ -14857,6 +15291,20 @@ def __repr__(self): AddMemberSelectorError.group_not_on_team = AddMemberSelectorError('group_not_on_team') AddMemberSelectorError.other = AddMemberSelectorError('other') +AudienceRestrictingSharedFolder._shared_folder_id_validator = common.SharedFolderId_validator +AudienceRestrictingSharedFolder._name_validator = bv.String() +AudienceRestrictingSharedFolder._audience_validator = LinkAudience_validator +AudienceRestrictingSharedFolder._all_field_names_ = set([ + 'shared_folder_id', + 'name', + 'audience', +]) +AudienceRestrictingSharedFolder._all_fields_ = [ + ('shared_folder_id', AudienceRestrictingSharedFolder._shared_folder_id_validator), + ('name', AudienceRestrictingSharedFolder._name_validator), + ('audience', AudienceRestrictingSharedFolder._audience_validator), +] + ChangeFileMemberAccessArgs._file_validator = PathOrId_validator ChangeFileMemberAccessArgs._member_validator = MemberSelector_validator ChangeFileMemberAccessArgs._access_level_validator = AccessLevel_validator @@ -14953,6 +15401,35 @@ def __repr__(self): CreateSharedLinkWithSettingsError.shared_link_already_exists = CreateSharedLinkWithSettingsError('shared_link_already_exists') CreateSharedLinkWithSettingsError.access_denied = CreateSharedLinkWithSettingsError('access_denied') +SharedContentLinkMetadataBase._access_level_validator = bv.Nullable(AccessLevel_validator) +SharedContentLinkMetadataBase._audience_options_validator = bv.List(LinkAudience_validator) +SharedContentLinkMetadataBase._audience_restricting_shared_folder_validator = bv.Nullable(AudienceRestrictingSharedFolder_validator) +SharedContentLinkMetadataBase._current_audience_validator = LinkAudience_validator +SharedContentLinkMetadataBase._expiry_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedContentLinkMetadataBase._link_permissions_validator = bv.List(LinkPermission_validator) +SharedContentLinkMetadataBase._password_protected_validator = bv.Boolean() +SharedContentLinkMetadataBase._all_field_names_ = set([ + 'access_level', + 'audience_options', + 'audience_restricting_shared_folder', + 'current_audience', + 'expiry', + 'link_permissions', + 'password_protected', +]) +SharedContentLinkMetadataBase._all_fields_ = [ + ('access_level', SharedContentLinkMetadataBase._access_level_validator), + ('audience_options', SharedContentLinkMetadataBase._audience_options_validator), + ('audience_restricting_shared_folder', SharedContentLinkMetadataBase._audience_restricting_shared_folder_validator), + ('current_audience', SharedContentLinkMetadataBase._current_audience_validator), + ('expiry', SharedContentLinkMetadataBase._expiry_validator), + ('link_permissions', SharedContentLinkMetadataBase._link_permissions_validator), + ('password_protected', SharedContentLinkMetadataBase._password_protected_validator), +] + +ExpectedSharedContentLinkMetadata._all_field_names_ = SharedContentLinkMetadataBase._all_field_names_.union(set([])) +ExpectedSharedContentLinkMetadata._all_fields_ = SharedContentLinkMetadataBase._all_fields_ + [] + FileAction._disable_viewer_info_validator = bv.Void() FileAction._edit_contents_validator = bv.Void() FileAction._enable_viewer_info_validator = bv.Void() @@ -15421,6 +15898,7 @@ def __repr__(self): JobStatus.complete = JobStatus('complete') +LinkAction._change_access_level_validator = bv.Void() LinkAction._change_audience_validator = bv.Void() LinkAction._remove_expiry_validator = bv.Void() LinkAction._remove_password_validator = bv.Void() @@ -15428,6 +15906,7 @@ def __repr__(self): LinkAction._set_password_validator = bv.Void() LinkAction._other_validator = bv.Void() LinkAction._tagmap = { + 'change_access_level': LinkAction._change_access_level_validator, 'change_audience': LinkAction._change_audience_validator, 'remove_expiry': LinkAction._remove_expiry_validator, 'remove_password': LinkAction._remove_password_validator, @@ -15436,6 +15915,7 @@ def __repr__(self): 'other': LinkAction._other_validator, } +LinkAction.change_access_level = LinkAction('change_access_level') LinkAction.change_audience = LinkAction('change_audience') LinkAction.remove_expiry = LinkAction('remove_expiry') LinkAction.remove_password = LinkAction('remove_password') @@ -15514,15 +15994,18 @@ def __repr__(self): ('revoke_failure_reason', LinkPermissions._revoke_failure_reason_validator), ] +LinkSettings._access_level_validator = bv.Nullable(AccessLevel_validator) LinkSettings._audience_validator = bv.Nullable(LinkAudience_validator) LinkSettings._expiry_validator = bv.Nullable(LinkExpiry_validator) LinkSettings._password_validator = bv.Nullable(LinkPassword_validator) LinkSettings._all_field_names_ = set([ + 'access_level', 'audience', 'expiry', 'password', ]) LinkSettings._all_fields_ = [ + ('access_level', LinkSettings._access_level_validator), ('audience', LinkSettings._audience_validator), ('expiry', LinkSettings._expiry_validator), ('password', LinkSettings._password_validator), @@ -15894,15 +16377,18 @@ def __repr__(self): ParentFolderAccessInfo._folder_name_validator = bv.String() ParentFolderAccessInfo._shared_folder_id_validator = common.SharedFolderId_validator ParentFolderAccessInfo._permissions_validator = bv.List(MemberPermission_validator) +ParentFolderAccessInfo._path_validator = bv.String() ParentFolderAccessInfo._all_field_names_ = set([ 'folder_name', 'shared_folder_id', 'permissions', + 'path', ]) ParentFolderAccessInfo._all_fields_ = [ ('folder_name', ParentFolderAccessInfo._folder_name_validator), ('shared_folder_id', ParentFolderAccessInfo._shared_folder_id_validator), ('permissions', ParentFolderAccessInfo._permissions_validator), + ('path', ParentFolderAccessInfo._path_validator), ] PathLinkMetadata._path_validator = bv.String() @@ -16214,7 +16700,6 @@ def __repr__(self): SharePathError._invalid_path_validator = bv.Void() SharePathError._is_osx_package_validator = bv.Void() SharePathError._inside_osx_package_validator = bv.Void() -SharePathError._invalid_path_root_validator = files.PathRootError_validator SharePathError._other_validator = bv.Void() SharePathError._tagmap = { 'is_file': SharePathError._is_file_validator, @@ -16230,7 +16715,6 @@ def __repr__(self): 'invalid_path': SharePathError._invalid_path_validator, 'is_osx_package': SharePathError._is_osx_package_validator, 'inside_osx_package': SharePathError._inside_osx_package_validator, - 'invalid_path_root': SharePathError._invalid_path_root_validator, 'other': SharePathError._other_validator, } @@ -16248,26 +16732,6 @@ def __repr__(self): SharePathError.inside_osx_package = SharePathError('inside_osx_package') SharePathError.other = SharePathError('other') -SharedContentLinkMetadataBase._audience_options_validator = bv.List(LinkAudience_validator) -SharedContentLinkMetadataBase._current_audience_validator = LinkAudience_validator -SharedContentLinkMetadataBase._expiry_validator = bv.Nullable(common.DropboxTimestamp_validator) -SharedContentLinkMetadataBase._link_permissions_validator = bv.List(LinkPermission_validator) -SharedContentLinkMetadataBase._password_protected_validator = bv.Boolean() -SharedContentLinkMetadataBase._all_field_names_ = set([ - 'audience_options', - 'current_audience', - 'expiry', - 'link_permissions', - 'password_protected', -]) -SharedContentLinkMetadataBase._all_fields_ = [ - ('audience_options', SharedContentLinkMetadataBase._audience_options_validator), - ('current_audience', SharedContentLinkMetadataBase._current_audience_validator), - ('expiry', SharedContentLinkMetadataBase._expiry_validator), - ('link_permissions', SharedContentLinkMetadataBase._link_permissions_validator), - ('password_protected', SharedContentLinkMetadataBase._password_protected_validator), -] - SharedContentLinkMetadata._url_validator = bv.String() SharedContentLinkMetadata._all_field_names_ = SharedContentLinkMetadataBase._all_field_names_.union(set(['url'])) SharedContentLinkMetadata._all_fields_ = SharedContentLinkMetadataBase._all_fields_ + [('url', SharedContentLinkMetadata._url_validator)] @@ -16289,41 +16753,47 @@ def __repr__(self): ('cursor', SharedFileMembers._cursor_validator), ] +SharedFileMetadata._access_type_validator = bv.Nullable(AccessLevel_validator) +SharedFileMetadata._id_validator = FileId_validator +SharedFileMetadata._expected_link_metadata_validator = bv.Nullable(ExpectedSharedContentLinkMetadata_validator) SharedFileMetadata._link_metadata_validator = bv.Nullable(SharedContentLinkMetadata_validator) -SharedFileMetadata._policy_validator = FolderPolicy_validator -SharedFileMetadata._permissions_validator = bv.Nullable(bv.List(FilePermission_validator)) +SharedFileMetadata._name_validator = bv.String() SharedFileMetadata._owner_team_validator = bv.Nullable(users.Team_validator) SharedFileMetadata._parent_shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator) -SharedFileMetadata._preview_url_validator = bv.String() -SharedFileMetadata._path_lower_validator = bv.Nullable(bv.String()) SharedFileMetadata._path_display_validator = bv.Nullable(bv.String()) -SharedFileMetadata._name_validator = bv.String() -SharedFileMetadata._id_validator = FileId_validator +SharedFileMetadata._path_lower_validator = bv.Nullable(bv.String()) +SharedFileMetadata._permissions_validator = bv.Nullable(bv.List(FilePermission_validator)) +SharedFileMetadata._policy_validator = FolderPolicy_validator +SharedFileMetadata._preview_url_validator = bv.String() SharedFileMetadata._time_invited_validator = bv.Nullable(common.DropboxTimestamp_validator) SharedFileMetadata._all_field_names_ = set([ + 'access_type', + 'id', + 'expected_link_metadata', 'link_metadata', - 'policy', - 'permissions', + 'name', 'owner_team', 'parent_shared_folder_id', - 'preview_url', - 'path_lower', 'path_display', - 'name', - 'id', + 'path_lower', + 'permissions', + 'policy', + 'preview_url', 'time_invited', ]) SharedFileMetadata._all_fields_ = [ + ('access_type', SharedFileMetadata._access_type_validator), + ('id', SharedFileMetadata._id_validator), + ('expected_link_metadata', SharedFileMetadata._expected_link_metadata_validator), ('link_metadata', SharedFileMetadata._link_metadata_validator), - ('policy', SharedFileMetadata._policy_validator), - ('permissions', SharedFileMetadata._permissions_validator), + ('name', SharedFileMetadata._name_validator), ('owner_team', SharedFileMetadata._owner_team_validator), ('parent_shared_folder_id', SharedFileMetadata._parent_shared_folder_id_validator), - ('preview_url', SharedFileMetadata._preview_url_validator), - ('path_lower', SharedFileMetadata._path_lower_validator), ('path_display', SharedFileMetadata._path_display_validator), - ('name', SharedFileMetadata._name_validator), - ('id', SharedFileMetadata._id_validator), + ('path_lower', SharedFileMetadata._path_lower_validator), + ('permissions', SharedFileMetadata._permissions_validator), + ('policy', SharedFileMetadata._policy_validator), + ('preview_url', SharedFileMetadata._preview_url_validator), ('time_invited', SharedFileMetadata._time_invited_validator), ] @@ -16678,6 +17148,7 @@ def __repr__(self): UpdateFolderPolicyArg._viewer_info_policy_validator = bv.Nullable(ViewerInfoPolicy_validator) UpdateFolderPolicyArg._shared_link_policy_validator = bv.Nullable(SharedLinkPolicy_validator) UpdateFolderPolicyArg._link_settings_validator = bv.Nullable(LinkSettings_validator) +UpdateFolderPolicyArg._actions_validator = bv.Nullable(bv.List(FolderAction_validator)) UpdateFolderPolicyArg._all_field_names_ = set([ 'shared_folder_id', 'member_policy', @@ -16685,6 +17156,7 @@ def __repr__(self): 'viewer_info_policy', 'shared_link_policy', 'link_settings', + 'actions', ]) UpdateFolderPolicyArg._all_fields_ = [ ('shared_folder_id', UpdateFolderPolicyArg._shared_folder_id_validator), @@ -16693,6 +17165,7 @@ def __repr__(self): ('viewer_info_policy', UpdateFolderPolicyArg._viewer_info_policy_validator), ('shared_link_policy', UpdateFolderPolicyArg._shared_link_policy_validator), ('link_settings', UpdateFolderPolicyArg._link_settings_validator), + ('actions', UpdateFolderPolicyArg._actions_validator), ] UpdateFolderPolicyError._access_error_validator = SharedFolderAccessError_validator @@ -16700,6 +17173,7 @@ def __repr__(self): UpdateFolderPolicyError._team_policy_disallows_member_policy_validator = bv.Void() UpdateFolderPolicyError._disallowed_shared_link_policy_validator = bv.Void() UpdateFolderPolicyError._no_permission_validator = bv.Void() +UpdateFolderPolicyError._team_folder_validator = bv.Void() UpdateFolderPolicyError._other_validator = bv.Void() UpdateFolderPolicyError._tagmap = { 'access_error': UpdateFolderPolicyError._access_error_validator, @@ -16707,6 +17181,7 @@ def __repr__(self): 'team_policy_disallows_member_policy': UpdateFolderPolicyError._team_policy_disallows_member_policy_validator, 'disallowed_shared_link_policy': UpdateFolderPolicyError._disallowed_shared_link_policy_validator, 'no_permission': UpdateFolderPolicyError._no_permission_validator, + 'team_folder': UpdateFolderPolicyError._team_folder_validator, 'other': UpdateFolderPolicyError._other_validator, } @@ -16714,9 +17189,10 @@ def __repr__(self): UpdateFolderPolicyError.team_policy_disallows_member_policy = UpdateFolderPolicyError('team_policy_disallows_member_policy') UpdateFolderPolicyError.disallowed_shared_link_policy = UpdateFolderPolicyError('disallowed_shared_link_policy') UpdateFolderPolicyError.no_permission = UpdateFolderPolicyError('no_permission') +UpdateFolderPolicyError.team_folder = UpdateFolderPolicyError('team_folder') UpdateFolderPolicyError.other = UpdateFolderPolicyError('other') -UserInfo._account_id_validator = users.AccountId_validator +UserInfo._account_id_validator = users_common.AccountId_validator UserInfo._same_team_validator = bv.Boolean() UserInfo._team_member_id_validator = bv.Nullable(bv.String()) UserInfo._all_field_names_ = set([ @@ -17192,3 +17668,4 @@ def __repr__(self): 'update_folder_member': update_folder_member, 'update_folder_policy': update_folder_policy, } + diff --git a/dropbox/stone_base.py b/dropbox/stone_base.py index eeb248a9..915a8180 100644 --- a/dropbox/stone_base.py +++ b/dropbox/stone_base.py @@ -27,6 +27,7 @@ class Union(object): _tagmap = {} # type: typing.Dict[typing.Text, bv.Validator] def __init__(self, tag, value=None): + # type: (typing.Text, typing.Optional[typing.Any]) -> None assert tag in self._tagmap, 'Invalid tag %r.' % tag validator = self._tagmap[tag] if isinstance(validator, bv.Void): diff --git a/dropbox/stone_serializers.py b/dropbox/stone_serializers.py index 1fc08adf..db6fc7ee 100644 --- a/dropbox/stone_serializers.py +++ b/dropbox/stone_serializers.py @@ -361,8 +361,7 @@ def encode(self, validator, value): # functions. def json_encode(data_type, obj, alias_validators=None, old_style=False): - """ - Encodes an object into JSON based on its type. + """Encodes an object into JSON based on its type. Args: data_type (Validator): Validator for obj. diff --git a/dropbox/stone_validators.py b/dropbox/stone_validators.py index fe900b0e..168da8b8 100644 --- a/dropbox/stone_validators.py +++ b/dropbox/stone_validators.py @@ -423,6 +423,7 @@ def __init__(self, definition): field_name: Name of the field (str). validator: Validator object. """ + super(Struct, self).__init__() self.definition = definition def validate(self, val): @@ -477,7 +478,9 @@ class StructTree(Struct): struct, but does not do any validation specific to the subtype. """ - def __init__(self, definition): + # See PyCQA/pylint#1043 for why this is disabled; this should show up + # as a usless-suppression (and can be removed) once a fix is released + def __init__(self, definition): # pylint: disable=useless-super-delegation super(StructTree, self).__init__(definition) diff --git a/dropbox/team.py b/dropbox/team.py index 2f1ca7be..1b947960 100644 --- a/dropbox/team.py +++ b/dropbox/team.py @@ -19,6 +19,7 @@ team_common, team_policies, users, + users_common, ) except (SystemError, ValueError): import async @@ -27,6 +28,7 @@ import team_common import team_policies import users + import users_common class DeviceSession(object): """ @@ -225,6 +227,7 @@ class ActiveWebSession(DeviceSession): :ivar user_agent: Information on the hosting device :ivar os: Information on the hosting operating system :ivar browser: Information on the browser used for this web session + :ivar expires: The time this session expires """ __slots__ = [ @@ -234,6 +237,8 @@ class ActiveWebSession(DeviceSession): '_os_present', '_browser_value', '_browser_present', + '_expires_value', + '_expires_present', ] _has_required_fields = True @@ -246,7 +251,8 @@ def __init__(self, ip_address=None, country=None, created=None, - updated=None): + updated=None, + expires=None): super(ActiveWebSession, self).__init__(session_id, ip_address, country, @@ -258,12 +264,16 @@ def __init__(self, self._os_present = False self._browser_value = None self._browser_present = False + self._expires_value = None + self._expires_present = False if user_agent is not None: self.user_agent = user_agent if os is not None: self.os = os if browser is not None: self.browser = browser + if expires is not None: + self.expires = expires @property def user_agent(self): @@ -334,8 +344,34 @@ def browser(self): self._browser_value = None self._browser_present = False + @property + def expires(self): + """ + The time this session expires + + :rtype: datetime.datetime + """ + if self._expires_present: + return self._expires_value + else: + return None + + @expires.setter + def expires(self, val): + if val is None: + del self.expires + return + val = self._expires_validator.validate(val) + self._expires_value = val + self._expires_present = True + + @expires.deleter + def expires(self): + self._expires_value = None + self._expires_present = False + def __repr__(self): - return 'ActiveWebSession(session_id={!r}, user_agent={!r}, os={!r}, browser={!r}, ip_address={!r}, country={!r}, created={!r}, updated={!r})'.format( + return 'ActiveWebSession(session_id={!r}, user_agent={!r}, os={!r}, browser={!r}, ip_address={!r}, country={!r}, created={!r}, updated={!r}, expires={!r})'.format( self._session_id_value, self._user_agent_value, self._os_value, @@ -344,6 +380,7 @@ def __repr__(self): self._country_value, self._created_value, self._updated_value, + self._expires_value, ) ActiveWebSession_validator = bv.Struct(ActiveWebSession) @@ -1543,6 +1580,233 @@ def __repr__(self): DevicesActive_validator = bv.Struct(DevicesActive) +class Feature(bb.Union): + """ + A set of features that Dropbox for Business account support. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar upload_api_rate_limit: The number of upload API calls allowed per + month. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + upload_api_rate_limit = None + # Attribute is overwritten below the class definition + other = None + + def is_upload_api_rate_limit(self): + """ + Check if the union tag is ``upload_api_rate_limit``. + + :rtype: bool + """ + return self._tag == 'upload_api_rate_limit' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'Feature(%r, %r)' % (self._tag, self._value) + +Feature_validator = bv.Union(Feature) + +class FeatureValue(bb.Union): + """ + The values correspond to entries in :class:`Feature`. You may get different + value according to your Dropbox for Business plan. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def upload_api_rate_limit(cls, val): + """ + Create an instance of this class set to the ``upload_api_rate_limit`` + tag with value ``val``. + + :param UploadApiRateLimitValue val: + :rtype: FeatureValue + """ + return cls('upload_api_rate_limit', val) + + def is_upload_api_rate_limit(self): + """ + Check if the union tag is ``upload_api_rate_limit``. + + :rtype: bool + """ + return self._tag == 'upload_api_rate_limit' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_upload_api_rate_limit(self): + """ + Only call this if :meth:`is_upload_api_rate_limit` is true. + + :rtype: UploadApiRateLimitValue + """ + if not self.is_upload_api_rate_limit(): + raise AttributeError("tag 'upload_api_rate_limit' not set") + return self._value + + def __repr__(self): + return 'FeatureValue(%r, %r)' % (self._tag, self._value) + +FeatureValue_validator = bv.Union(FeatureValue) + +class FeaturesGetValuesBatchArg(object): + """ + :ivar features: A list of features in :class:`Feature`. If the list is + empty, this route will return :class:`FeaturesGetValuesBatchError`. + """ + + __slots__ = [ + '_features_value', + '_features_present', + ] + + _has_required_fields = True + + def __init__(self, + features=None): + self._features_value = None + self._features_present = False + if features is not None: + self.features = features + + @property + def features(self): + """ + A list of features in :class:`Feature`. If the list is empty, this route + will return :class:`FeaturesGetValuesBatchError`. + + :rtype: list of [Feature] + """ + if self._features_present: + return self._features_value + else: + raise AttributeError("missing required field 'features'") + + @features.setter + def features(self, val): + val = self._features_validator.validate(val) + self._features_value = val + self._features_present = True + + @features.deleter + def features(self): + self._features_value = None + self._features_present = False + + def __repr__(self): + return 'FeaturesGetValuesBatchArg(features={!r})'.format( + self._features_value, + ) + +FeaturesGetValuesBatchArg_validator = bv.Struct(FeaturesGetValuesBatchArg) + +class FeaturesGetValuesBatchError(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar empty_features_list: At least one :class:`Feature` must be included in + the :class:`FeaturesGetValuesBatchArg`.features list. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + empty_features_list = None + # Attribute is overwritten below the class definition + other = None + + def is_empty_features_list(self): + """ + Check if the union tag is ``empty_features_list``. + + :rtype: bool + """ + return self._tag == 'empty_features_list' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'FeaturesGetValuesBatchError(%r, %r)' % (self._tag, self._value) + +FeaturesGetValuesBatchError_validator = bv.Union(FeaturesGetValuesBatchError) + +class FeaturesGetValuesBatchResult(object): + + __slots__ = [ + '_values_value', + '_values_present', + ] + + _has_required_fields = True + + def __init__(self, + values=None): + self._values_value = None + self._values_present = False + if values is not None: + self.values = values + + @property + def values(self): + """ + :rtype: list of [FeatureValue] + """ + if self._values_present: + return self._values_value + else: + raise AttributeError("missing required field 'values'") + + @values.setter + def values(self, val): + val = self._values_validator.validate(val) + self._values_value = val + self._values_present = True + + @values.deleter + def values(self): + self._values_value = None + self._values_present = False + + def __repr__(self): + return 'FeaturesGetValuesBatchResult(values={!r})'.format( + self._values_value, + ) + +FeaturesGetValuesBatchResult_validator = bv.Struct(FeaturesGetValuesBatchResult) + class GetActivityReport(BaseDfbReport): """ Activity Report Result. Each of the items in the storage report is an array @@ -6744,10 +7008,13 @@ def member_given_name(self): if self._member_given_name_present: return self._member_given_name_value else: - raise AttributeError("missing required field 'member_given_name'") + return None @member_given_name.setter def member_given_name(self, val): + if val is None: + del self.member_given_name + return val = self._member_given_name_validator.validate(val) self._member_given_name_value = val self._member_given_name_present = True @@ -6767,10 +7034,13 @@ def member_surname(self): if self._member_surname_present: return self._member_surname_value else: - raise AttributeError("missing required field 'member_surname'") + return None @member_surname.setter def member_surname(self, val): + if val is None: + del self.member_surname + return val = self._member_surname_validator.validate(val) self._member_surname_value = val self._member_surname_present = True @@ -10186,7 +10456,7 @@ def __repr__(self): class RemovedStatus(object): """ - :ivar is_recoverable: True if the removed team member is recoverable + :ivar is_recoverable: True if the removed team member is recoverable. """ __slots__ = [ @@ -10206,7 +10476,7 @@ def __init__(self, @property def is_recoverable(self): """ - True if the removed team member is recoverable + True if the removed team member is recoverable. :rtype: bool """ @@ -11742,6 +12012,91 @@ def __repr__(self): TeamFolderListArg_validator = bv.Struct(TeamFolderListArg) +class TeamFolderListContinueArg(object): + """ + :ivar cursor: Indicates from what point to get the next set of team folders. + """ + + __slots__ = [ + '_cursor_value', + '_cursor_present', + ] + + _has_required_fields = True + + def __init__(self, + cursor=None): + self._cursor_value = None + self._cursor_present = False + if cursor is not None: + self.cursor = cursor + + @property + def cursor(self): + """ + Indicates from what point to get the next set of team folders. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + raise AttributeError("missing required field 'cursor'") + + @cursor.setter + def cursor(self, val): + val = self._cursor_validator.validate(val) + self._cursor_value = val + self._cursor_present = True + + @cursor.deleter + def cursor(self): + self._cursor_value = None + self._cursor_present = False + + def __repr__(self): + return 'TeamFolderListContinueArg(cursor={!r})'.format( + self._cursor_value, + ) + +TeamFolderListContinueArg_validator = bv.Struct(TeamFolderListContinueArg) + +class TeamFolderListContinueError(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar invalid_cursor: The cursor is invalid. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + invalid_cursor = None + # Attribute is overwritten below the class definition + other = None + + def is_invalid_cursor(self): + """ + Check if the union tag is ``invalid_cursor``. + + :rtype: bool + """ + return self._tag == 'invalid_cursor' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'TeamFolderListContinueError(%r, %r)' % (self._tag, self._value) + +TeamFolderListContinueError_validator = bv.Union(TeamFolderListContinueError) + class TeamFolderListError(object): __slots__ = [ @@ -11788,24 +12143,46 @@ def __repr__(self): class TeamFolderListResult(object): """ - Result for :meth:`dropbox.dropbox.Dropbox.team_team_folder_list`. + Result for :meth:`dropbox.dropbox.Dropbox.team_team_folder_list` and + :meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue`. :ivar team_folders: List of all team folders in the authenticated team. + :ivar cursor: Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` to obtain + additional team folders. + :ivar has_more: Is true if there are additional team folders that have not + been returned yet. An additional call to + :meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` can + retrieve them. """ __slots__ = [ '_team_folders_value', '_team_folders_present', + '_cursor_value', + '_cursor_present', + '_has_more_value', + '_has_more_present', ] _has_required_fields = True def __init__(self, - team_folders=None): + team_folders=None, + cursor=None, + has_more=None): self._team_folders_value = None self._team_folders_present = False + self._cursor_value = None + self._cursor_present = False + self._has_more_value = None + self._has_more_present = False if team_folders is not None: self.team_folders = team_folders + if cursor is not None: + self.cursor = cursor + if has_more is not None: + self.has_more = has_more @property def team_folders(self): @@ -11830,9 +12207,62 @@ def team_folders(self): self._team_folders_value = None self._team_folders_present = False + @property + def cursor(self): + """ + Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` to obtain + additional team folders. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + raise AttributeError("missing required field 'cursor'") + + @cursor.setter + def cursor(self, val): + val = self._cursor_validator.validate(val) + self._cursor_value = val + self._cursor_present = True + + @cursor.deleter + def cursor(self): + self._cursor_value = None + self._cursor_present = False + + @property + def has_more(self): + """ + Is true if there are additional team folders that have not been returned + yet. An additional call to + :meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` can + retrieve them. + + :rtype: bool + """ + if self._has_more_present: + return self._has_more_value + else: + raise AttributeError("missing required field 'has_more'") + + @has_more.setter + def has_more(self, val): + val = self._has_more_validator.validate(val) + self._has_more_value = val + self._has_more_present = True + + @has_more.deleter + def has_more(self): + self._has_more_value = None + self._has_more_present = False + def __repr__(self): - return 'TeamFolderListResult(team_folders={!r})'.format( + return 'TeamFolderListResult(team_folders={!r}, cursor={!r}, has_more={!r})'.format( self._team_folders_value, + self._cursor_value, + self._has_more_value, ) TeamFolderListResult_validator = bv.Struct(TeamFolderListResult) @@ -12590,6 +13020,112 @@ def __repr__(self): TeamMembershipType_validator = bv.Union(TeamMembershipType) +class TokenGetAuthenticatedAdminError(bb.Union): + """ + Error returned by + :meth:`dropbox.dropbox.Dropbox.team_token_get_authenticated_admin`. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar mapping_not_found: The current token is not associated with a team + admin, because mappings were not recorded when the token was created. + Consider re-authorizing a new access token to record its authenticating + admin. + :ivar admin_not_active: Either the team admin that authorized this token is + no longer an active member of the team or no longer a team admin. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + mapping_not_found = None + # Attribute is overwritten below the class definition + admin_not_active = None + # Attribute is overwritten below the class definition + other = None + + def is_mapping_not_found(self): + """ + Check if the union tag is ``mapping_not_found``. + + :rtype: bool + """ + return self._tag == 'mapping_not_found' + + def is_admin_not_active(self): + """ + Check if the union tag is ``admin_not_active``. + + :rtype: bool + """ + return self._tag == 'admin_not_active' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'TokenGetAuthenticatedAdminError(%r, %r)' % (self._tag, self._value) + +TokenGetAuthenticatedAdminError_validator = bv.Union(TokenGetAuthenticatedAdminError) + +class TokenGetAuthenticatedAdminResult(object): + """ + Results for + :meth:`dropbox.dropbox.Dropbox.team_token_get_authenticated_admin`. + + :ivar admin_profile: The admin who authorized the token. + """ + + __slots__ = [ + '_admin_profile_value', + '_admin_profile_present', + ] + + _has_required_fields = True + + def __init__(self, + admin_profile=None): + self._admin_profile_value = None + self._admin_profile_present = False + if admin_profile is not None: + self.admin_profile = admin_profile + + @property + def admin_profile(self): + """ + The admin who authorized the token. + + :rtype: TeamMemberProfile + """ + if self._admin_profile_present: + return self._admin_profile_value + else: + raise AttributeError("missing required field 'admin_profile'") + + @admin_profile.setter + def admin_profile(self, val): + self._admin_profile_validator.validate_type_only(val) + self._admin_profile_value = val + self._admin_profile_present = True + + @admin_profile.deleter + def admin_profile(self): + self._admin_profile_value = None + self._admin_profile_present = False + + def __repr__(self): + return 'TokenGetAuthenticatedAdminResult(admin_profile={!r})'.format( + self._admin_profile_value, + ) + +TokenGetAuthenticatedAdminResult_validator = bv.Struct(TokenGetAuthenticatedAdminResult) + class UpdatePropertyTemplateArg(object): """ :ivar template_id: An identifier for property template added by @@ -12804,6 +13340,78 @@ def __repr__(self): UpdatePropertyTemplateResult_validator = bv.Struct(UpdatePropertyTemplateResult) +class UploadApiRateLimitValue(bb.Union): + """ + The value for ``Feature.upload_api_rate_limit``. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar unlimited: This team has unlimited upload API quota. So far both + server version account and legacy account type have unlimited monthly + upload api quota. + :ivar long limit: The number of upload API calls allowed per month. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + unlimited = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def limit(cls, val): + """ + Create an instance of this class set to the ``limit`` tag with value + ``val``. + + :param long val: + :rtype: UploadApiRateLimitValue + """ + return cls('limit', val) + + def is_unlimited(self): + """ + Check if the union tag is ``unlimited``. + + :rtype: bool + """ + return self._tag == 'unlimited' + + def is_limit(self): + """ + Check if the union tag is ``limit``. + + :rtype: bool + """ + return self._tag == 'limit' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_limit(self): + """ + The number of upload API calls allowed per month. + + Only call this if :meth:`is_limit` is true. + + :rtype: long + """ + if not self.is_limit(): + raise AttributeError("tag 'limit' not set") + return self._value + + def __repr__(self): + return 'UploadApiRateLimitValue(%r, %r)' % (self._tag, self._value) + +UploadApiRateLimitValue_validator = bv.Union(UploadApiRateLimitValue) + class UserSelectorArg(bb.Union): """ Argument for selecting a single user, either by team_member_id, external_id @@ -13048,15 +13656,18 @@ def __repr__(self): ActiveWebSession._user_agent_validator = bv.String() ActiveWebSession._os_validator = bv.String() ActiveWebSession._browser_validator = bv.String() +ActiveWebSession._expires_validator = bv.Nullable(common.DropboxTimestamp_validator) ActiveWebSession._all_field_names_ = DeviceSession._all_field_names_.union(set([ 'user_agent', 'os', 'browser', + 'expires', ])) ActiveWebSession._all_fields_ = DeviceSession._all_fields_ + [ ('user_agent', ActiveWebSession._user_agent_validator), ('os', ActiveWebSession._os_validator), ('browser', ActiveWebSession._browser_validator), + ('expires', ActiveWebSession._expires_validator), ] AddPropertyTemplateArg._all_field_names_ = properties.PropertyGroupTemplate._all_field_names_.union(set([])) @@ -13211,6 +13822,43 @@ def __repr__(self): ('total', DevicesActive._total_validator), ] +Feature._upload_api_rate_limit_validator = bv.Void() +Feature._other_validator = bv.Void() +Feature._tagmap = { + 'upload_api_rate_limit': Feature._upload_api_rate_limit_validator, + 'other': Feature._other_validator, +} + +Feature.upload_api_rate_limit = Feature('upload_api_rate_limit') +Feature.other = Feature('other') + +FeatureValue._upload_api_rate_limit_validator = UploadApiRateLimitValue_validator +FeatureValue._other_validator = bv.Void() +FeatureValue._tagmap = { + 'upload_api_rate_limit': FeatureValue._upload_api_rate_limit_validator, + 'other': FeatureValue._other_validator, +} + +FeatureValue.other = FeatureValue('other') + +FeaturesGetValuesBatchArg._features_validator = bv.List(Feature_validator) +FeaturesGetValuesBatchArg._all_field_names_ = set(['features']) +FeaturesGetValuesBatchArg._all_fields_ = [('features', FeaturesGetValuesBatchArg._features_validator)] + +FeaturesGetValuesBatchError._empty_features_list_validator = bv.Void() +FeaturesGetValuesBatchError._other_validator = bv.Void() +FeaturesGetValuesBatchError._tagmap = { + 'empty_features_list': FeaturesGetValuesBatchError._empty_features_list_validator, + 'other': FeaturesGetValuesBatchError._other_validator, +} + +FeaturesGetValuesBatchError.empty_features_list = FeaturesGetValuesBatchError('empty_features_list') +FeaturesGetValuesBatchError.other = FeaturesGetValuesBatchError('other') + +FeaturesGetValuesBatchResult._values_validator = bv.List(FeatureValue_validator) +FeaturesGetValuesBatchResult._all_field_names_ = set(['values']) +FeaturesGetValuesBatchResult._all_fields_ = [('values', FeaturesGetValuesBatchResult._values_validator)] + GetActivityReport._adds_validator = NumberPerDay_validator GetActivityReport._edits_validator = NumberPerDay_validator GetActivityReport._deletes_validator = NumberPerDay_validator @@ -13879,8 +14527,8 @@ def __repr__(self): ] MemberAddArg._member_email_validator = common.EmailAddress_validator -MemberAddArg._member_given_name_validator = common.NamePart_validator -MemberAddArg._member_surname_validator = common.NamePart_validator +MemberAddArg._member_given_name_validator = bv.Nullable(common.NamePart_validator) +MemberAddArg._member_surname_validator = bv.Nullable(common.NamePart_validator) MemberAddArg._member_external_id_validator = bv.Nullable(team_common.MemberExternalId_validator) MemberAddArg._member_persistent_id_validator = bv.Nullable(bv.String()) MemberAddArg._send_welcome_email_validator = bv.Boolean() @@ -13959,7 +14607,7 @@ def __repr__(self): MemberProfile._team_member_id_validator = team_common.TeamMemberId_validator MemberProfile._external_id_validator = bv.Nullable(bv.String()) -MemberProfile._account_id_validator = bv.Nullable(users.AccountId_validator) +MemberProfile._account_id_validator = bv.Nullable(users_common.AccountId_validator) MemberProfile._email_validator = bv.String() MemberProfile._email_verified_validator = bv.Boolean() MemberProfile._status_validator = TeamMemberStatus_validator @@ -14584,13 +15232,37 @@ def __repr__(self): TeamFolderListArg._all_field_names_ = set(['limit']) TeamFolderListArg._all_fields_ = [('limit', TeamFolderListArg._limit_validator)] +TeamFolderListContinueArg._cursor_validator = bv.String() +TeamFolderListContinueArg._all_field_names_ = set(['cursor']) +TeamFolderListContinueArg._all_fields_ = [('cursor', TeamFolderListContinueArg._cursor_validator)] + +TeamFolderListContinueError._invalid_cursor_validator = bv.Void() +TeamFolderListContinueError._other_validator = bv.Void() +TeamFolderListContinueError._tagmap = { + 'invalid_cursor': TeamFolderListContinueError._invalid_cursor_validator, + 'other': TeamFolderListContinueError._other_validator, +} + +TeamFolderListContinueError.invalid_cursor = TeamFolderListContinueError('invalid_cursor') +TeamFolderListContinueError.other = TeamFolderListContinueError('other') + TeamFolderListError._access_error_validator = TeamFolderAccessError_validator TeamFolderListError._all_field_names_ = set(['access_error']) TeamFolderListError._all_fields_ = [('access_error', TeamFolderListError._access_error_validator)] TeamFolderListResult._team_folders_validator = bv.List(TeamFolderMetadata_validator) -TeamFolderListResult._all_field_names_ = set(['team_folders']) -TeamFolderListResult._all_fields_ = [('team_folders', TeamFolderListResult._team_folders_validator)] +TeamFolderListResult._cursor_validator = bv.String() +TeamFolderListResult._has_more_validator = bv.Boolean() +TeamFolderListResult._all_field_names_ = set([ + 'team_folders', + 'cursor', + 'has_more', +]) +TeamFolderListResult._all_fields_ = [ + ('team_folders', TeamFolderListResult._team_folders_validator), + ('cursor', TeamFolderListResult._cursor_validator), + ('has_more', TeamFolderListResult._has_more_validator), +] TeamFolderMetadata._team_folder_id_validator = common.SharedFolderId_validator TeamFolderMetadata._name_validator = bv.String() @@ -14704,6 +15376,23 @@ def __repr__(self): TeamMembershipType.full = TeamMembershipType('full') TeamMembershipType.limited = TeamMembershipType('limited') +TokenGetAuthenticatedAdminError._mapping_not_found_validator = bv.Void() +TokenGetAuthenticatedAdminError._admin_not_active_validator = bv.Void() +TokenGetAuthenticatedAdminError._other_validator = bv.Void() +TokenGetAuthenticatedAdminError._tagmap = { + 'mapping_not_found': TokenGetAuthenticatedAdminError._mapping_not_found_validator, + 'admin_not_active': TokenGetAuthenticatedAdminError._admin_not_active_validator, + 'other': TokenGetAuthenticatedAdminError._other_validator, +} + +TokenGetAuthenticatedAdminError.mapping_not_found = TokenGetAuthenticatedAdminError('mapping_not_found') +TokenGetAuthenticatedAdminError.admin_not_active = TokenGetAuthenticatedAdminError('admin_not_active') +TokenGetAuthenticatedAdminError.other = TokenGetAuthenticatedAdminError('other') + +TokenGetAuthenticatedAdminResult._admin_profile_validator = TeamMemberProfile_validator +TokenGetAuthenticatedAdminResult._all_field_names_ = set(['admin_profile']) +TokenGetAuthenticatedAdminResult._all_fields_ = [('admin_profile', TokenGetAuthenticatedAdminResult._admin_profile_validator)] + UpdatePropertyTemplateArg._template_id_validator = properties.TemplateId_validator UpdatePropertyTemplateArg._name_validator = bv.Nullable(bv.String()) UpdatePropertyTemplateArg._description_validator = bv.Nullable(bv.String()) @@ -14725,6 +15414,18 @@ def __repr__(self): UpdatePropertyTemplateResult._all_field_names_ = set(['template_id']) UpdatePropertyTemplateResult._all_fields_ = [('template_id', UpdatePropertyTemplateResult._template_id_validator)] +UploadApiRateLimitValue._unlimited_validator = bv.Void() +UploadApiRateLimitValue._limit_validator = bv.UInt32() +UploadApiRateLimitValue._other_validator = bv.Void() +UploadApiRateLimitValue._tagmap = { + 'unlimited': UploadApiRateLimitValue._unlimited_validator, + 'limit': UploadApiRateLimitValue._limit_validator, + 'other': UploadApiRateLimitValue._other_validator, +} + +UploadApiRateLimitValue.unlimited = UploadApiRateLimitValue('unlimited') +UploadApiRateLimitValue.other = UploadApiRateLimitValue('other') + UserSelectorArg._team_member_id_validator = team_common.TeamMemberId_validator UserSelectorArg._external_id_validator = team_common.MemberExternalId_validator UserSelectorArg._email_validator = common.EmailAddress_validator @@ -14788,6 +15489,15 @@ def __repr__(self): {'host': u'api', 'style': u'rpc'}, ) +features_get_values = bb.Route( + 'features/get_values', + False, + FeaturesGetValuesBatchArg_validator, + FeaturesGetValuesBatchResult_validator, + FeaturesGetValuesBatchError_validator, + {'host': u'api', + 'style': u'rpc'}, +) get_info = bb.Route( 'get_info', False, @@ -15193,6 +15903,15 @@ def __repr__(self): {'host': u'api', 'style': u'rpc'}, ) +team_folder_list_continue = bb.Route( + 'team_folder/list/continue', + False, + TeamFolderListContinueArg_validator, + TeamFolderListResult_validator, + TeamFolderListContinueError_validator, + {'host': u'api', + 'style': u'rpc'}, +) team_folder_permanently_delete = bb.Route( 'team_folder/permanently_delete', False, @@ -15211,6 +15930,15 @@ def __repr__(self): {'host': u'api', 'style': u'rpc'}, ) +token_get_authenticated_admin = bb.Route( + 'token/get_authenticated_admin', + False, + bv.Void(), + TokenGetAuthenticatedAdminResult_validator, + TokenGetAuthenticatedAdminError_validator, + {'host': u'api', + 'style': u'rpc'}, +) ROUTES = { 'devices/list_member_devices': devices_list_member_devices, @@ -15218,6 +15946,7 @@ def __repr__(self): 'devices/list_team_devices': devices_list_team_devices, 'devices/revoke_device_session': devices_revoke_device_session, 'devices/revoke_device_session_batch': devices_revoke_device_session_batch, + 'features/get_values': features_get_values, 'get_info': get_info, 'groups/create': groups_create, 'groups/delete': groups_delete, @@ -15263,6 +15992,9 @@ def __repr__(self): 'team_folder/create': team_folder_create, 'team_folder/get_info': team_folder_get_info, 'team_folder/list': team_folder_list, + 'team_folder/list/continue': team_folder_list_continue, 'team_folder/permanently_delete': team_folder_permanently_delete, 'team_folder/rename': team_folder_rename, + 'token/get_authenticated_admin': token_get_authenticated_admin, } + diff --git a/dropbox/team_common.py b/dropbox/team_common.py index 7736404f..f7b09375 100644 --- a/dropbox/team_common.py +++ b/dropbox/team_common.py @@ -465,3 +465,4 @@ def __repr__(self): ROUTES = { } + diff --git a/dropbox/team_log.py b/dropbox/team_log.py new file mode 100644 index 00000000..cee5f4d3 --- /dev/null +++ b/dropbox/team_log.py @@ -0,0 +1,39500 @@ +# -*- coding: utf-8 -*- +# Auto-generated by Stone, do not modify. +# flake8: noqa +# pylint: skip-file +try: + from . import stone_validators as bv + from . import stone_base as bb +except (SystemError, ValueError): + # Catch errors raised when importing a relative module when not in a package. + # This makes testing this file directly (outside of a package) easier. + import stone_validators as bv + import stone_base as bb + +try: + from . import ( + common, + files, + team_common, + users_common, + ) +except (SystemError, ValueError): + import common + import files + import team_common + import users_common + +class AccessMethodLogInfo(bb.Union): + """ + Indicates the method in which the action was performed. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar SessionLogInfo end_user: End user session details. + :ivar WebSessionLogInfo sign_in_as: Sign in as session details. + :ivar WebSessionLogInfo content_manager: Content manager session details. + :ivar WebSessionLogInfo admin_console: Admin console session details. + :ivar ApiSessionLogInfo api: Api session details. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def end_user(cls, val): + """ + Create an instance of this class set to the ``end_user`` tag with value + ``val``. + + :param SessionLogInfo val: + :rtype: AccessMethodLogInfo + """ + return cls('end_user', val) + + @classmethod + def sign_in_as(cls, val): + """ + Create an instance of this class set to the ``sign_in_as`` tag with + value ``val``. + + :param WebSessionLogInfo val: + :rtype: AccessMethodLogInfo + """ + return cls('sign_in_as', val) + + @classmethod + def content_manager(cls, val): + """ + Create an instance of this class set to the ``content_manager`` tag with + value ``val``. + + :param WebSessionLogInfo val: + :rtype: AccessMethodLogInfo + """ + return cls('content_manager', val) + + @classmethod + def admin_console(cls, val): + """ + Create an instance of this class set to the ``admin_console`` tag with + value ``val``. + + :param WebSessionLogInfo val: + :rtype: AccessMethodLogInfo + """ + return cls('admin_console', val) + + @classmethod + def api(cls, val): + """ + Create an instance of this class set to the ``api`` tag with value + ``val``. + + :param ApiSessionLogInfo val: + :rtype: AccessMethodLogInfo + """ + return cls('api', val) + + def is_end_user(self): + """ + Check if the union tag is ``end_user``. + + :rtype: bool + """ + return self._tag == 'end_user' + + def is_sign_in_as(self): + """ + Check if the union tag is ``sign_in_as``. + + :rtype: bool + """ + return self._tag == 'sign_in_as' + + def is_content_manager(self): + """ + Check if the union tag is ``content_manager``. + + :rtype: bool + """ + return self._tag == 'content_manager' + + def is_admin_console(self): + """ + Check if the union tag is ``admin_console``. + + :rtype: bool + """ + return self._tag == 'admin_console' + + def is_api(self): + """ + Check if the union tag is ``api``. + + :rtype: bool + """ + return self._tag == 'api' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_end_user(self): + """ + End user session details. + + Only call this if :meth:`is_end_user` is true. + + :rtype: SessionLogInfo + """ + if not self.is_end_user(): + raise AttributeError("tag 'end_user' not set") + return self._value + + def get_sign_in_as(self): + """ + Sign in as session details. + + Only call this if :meth:`is_sign_in_as` is true. + + :rtype: WebSessionLogInfo + """ + if not self.is_sign_in_as(): + raise AttributeError("tag 'sign_in_as' not set") + return self._value + + def get_content_manager(self): + """ + Content manager session details. + + Only call this if :meth:`is_content_manager` is true. + + :rtype: WebSessionLogInfo + """ + if not self.is_content_manager(): + raise AttributeError("tag 'content_manager' not set") + return self._value + + def get_admin_console(self): + """ + Admin console session details. + + Only call this if :meth:`is_admin_console` is true. + + :rtype: WebSessionLogInfo + """ + if not self.is_admin_console(): + raise AttributeError("tag 'admin_console' not set") + return self._value + + def get_api(self): + """ + Api session details. + + Only call this if :meth:`is_api` is true. + + :rtype: ApiSessionLogInfo + """ + if not self.is_api(): + raise AttributeError("tag 'api' not set") + return self._value + + def __repr__(self): + return 'AccessMethodLogInfo(%r, %r)' % (self._tag, self._value) + +AccessMethodLogInfo_validator = bv.Union(AccessMethodLogInfo) + +class AccountCaptureChangeAvailabilityDetails(object): + """ + Granted or revoked the option to enable account capture on domains belonging + to the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'AccountCaptureChangeAvailabilityDetails()' + +AccountCaptureChangeAvailabilityDetails_validator = bv.Struct(AccountCaptureChangeAvailabilityDetails) + +class AccountCaptureChangePolicyDetails(object): + """ + Changed the account capture policy on a domain belonging to the team. + + :ivar new_value: New account capture policy. + :ivar previous_value: Previous account capture policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New account capture policy. + + :rtype: AccountCapturePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous account capture policy. Might be missing due to historical data + gap. + + :rtype: AccountCapturePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'AccountCaptureChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +AccountCaptureChangePolicyDetails_validator = bv.Struct(AccountCaptureChangePolicyDetails) + +class AccountCaptureMigrateAccountDetails(object): + """ + Account captured user migrated their account to the team. + + :ivar domain_name: Domain names. + """ + + __slots__ = [ + '_domain_name_value', + '_domain_name_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_name=None): + self._domain_name_value = None + self._domain_name_present = False + if domain_name is not None: + self.domain_name = domain_name + + @property + def domain_name(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_name_present: + return self._domain_name_value + else: + raise AttributeError("missing required field 'domain_name'") + + @domain_name.setter + def domain_name(self, val): + val = self._domain_name_validator.validate(val) + self._domain_name_value = val + self._domain_name_present = True + + @domain_name.deleter + def domain_name(self): + self._domain_name_value = None + self._domain_name_present = False + + def __repr__(self): + return 'AccountCaptureMigrateAccountDetails(domain_name={!r})'.format( + self._domain_name_value, + ) + +AccountCaptureMigrateAccountDetails_validator = bv.Struct(AccountCaptureMigrateAccountDetails) + +class AccountCapturePolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + invited_users = None + # Attribute is overwritten below the class definition + all_users = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_invited_users(self): + """ + Check if the union tag is ``invited_users``. + + :rtype: bool + """ + return self._tag == 'invited_users' + + def is_all_users(self): + """ + Check if the union tag is ``all_users``. + + :rtype: bool + """ + return self._tag == 'all_users' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'AccountCapturePolicy(%r, %r)' % (self._tag, self._value) + +AccountCapturePolicy_validator = bv.Union(AccountCapturePolicy) + +class AccountCaptureRelinquishAccountDetails(object): + """ + Account captured user relinquished their account by changing the email + address associated with it. + + :ivar domain_name: Domain names. + """ + + __slots__ = [ + '_domain_name_value', + '_domain_name_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_name=None): + self._domain_name_value = None + self._domain_name_present = False + if domain_name is not None: + self.domain_name = domain_name + + @property + def domain_name(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_name_present: + return self._domain_name_value + else: + raise AttributeError("missing required field 'domain_name'") + + @domain_name.setter + def domain_name(self, val): + val = self._domain_name_validator.validate(val) + self._domain_name_value = val + self._domain_name_present = True + + @domain_name.deleter + def domain_name(self): + self._domain_name_value = None + self._domain_name_present = False + + def __repr__(self): + return 'AccountCaptureRelinquishAccountDetails(domain_name={!r})'.format( + self._domain_name_value, + ) + +AccountCaptureRelinquishAccountDetails_validator = bv.Struct(AccountCaptureRelinquishAccountDetails) + +class ActorLogInfo(bb.Union): + """ + The entity who performed the action. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar UserLogInfo user: The user who did the action. + :ivar UserLogInfo admin: The admin who did the action. + :ivar AppLogInfo app: The application who did the action. + :ivar ResellerLogInfo reseller: Action done by reseller. + :ivar dropbox: Action done by Dropbox. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + dropbox = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def user(cls, val): + """ + Create an instance of this class set to the ``user`` tag with value + ``val``. + + :param UserLogInfo val: + :rtype: ActorLogInfo + """ + return cls('user', val) + + @classmethod + def admin(cls, val): + """ + Create an instance of this class set to the ``admin`` tag with value + ``val``. + + :param UserLogInfo val: + :rtype: ActorLogInfo + """ + return cls('admin', val) + + @classmethod + def app(cls, val): + """ + Create an instance of this class set to the ``app`` tag with value + ``val``. + + :param AppLogInfo val: + :rtype: ActorLogInfo + """ + return cls('app', val) + + @classmethod + def reseller(cls, val): + """ + Create an instance of this class set to the ``reseller`` tag with value + ``val``. + + :param ResellerLogInfo val: + :rtype: ActorLogInfo + """ + return cls('reseller', val) + + def is_user(self): + """ + Check if the union tag is ``user``. + + :rtype: bool + """ + return self._tag == 'user' + + def is_admin(self): + """ + Check if the union tag is ``admin``. + + :rtype: bool + """ + return self._tag == 'admin' + + def is_app(self): + """ + Check if the union tag is ``app``. + + :rtype: bool + """ + return self._tag == 'app' + + def is_reseller(self): + """ + Check if the union tag is ``reseller``. + + :rtype: bool + """ + return self._tag == 'reseller' + + def is_dropbox(self): + """ + Check if the union tag is ``dropbox``. + + :rtype: bool + """ + return self._tag == 'dropbox' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_user(self): + """ + The user who did the action. + + Only call this if :meth:`is_user` is true. + + :rtype: UserLogInfo + """ + if not self.is_user(): + raise AttributeError("tag 'user' not set") + return self._value + + def get_admin(self): + """ + The admin who did the action. + + Only call this if :meth:`is_admin` is true. + + :rtype: UserLogInfo + """ + if not self.is_admin(): + raise AttributeError("tag 'admin' not set") + return self._value + + def get_app(self): + """ + The application who did the action. + + Only call this if :meth:`is_app` is true. + + :rtype: AppLogInfo + """ + if not self.is_app(): + raise AttributeError("tag 'app' not set") + return self._value + + def get_reseller(self): + """ + Action done by reseller. + + Only call this if :meth:`is_reseller` is true. + + :rtype: ResellerLogInfo + """ + if not self.is_reseller(): + raise AttributeError("tag 'reseller' not set") + return self._value + + def __repr__(self): + return 'ActorLogInfo(%r, %r)' % (self._tag, self._value) + +ActorLogInfo_validator = bv.Union(ActorLogInfo) + +class AllowDownloadDisabledDetails(object): + """ + Disabled allow downloads. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'AllowDownloadDisabledDetails()' + +AllowDownloadDisabledDetails_validator = bv.Struct(AllowDownloadDisabledDetails) + +class AllowDownloadEnabledDetails(object): + """ + Enabled allow downloads. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'AllowDownloadEnabledDetails()' + +AllowDownloadEnabledDetails_validator = bv.Struct(AllowDownloadEnabledDetails) + +class ApiSessionLogInfo(object): + """ + Api session. + + :ivar request_id: Api request ID. + """ + + __slots__ = [ + '_request_id_value', + '_request_id_present', + ] + + _has_required_fields = True + + def __init__(self, + request_id=None): + self._request_id_value = None + self._request_id_present = False + if request_id is not None: + self.request_id = request_id + + @property + def request_id(self): + """ + Api request ID. + + :rtype: str + """ + if self._request_id_present: + return self._request_id_value + else: + raise AttributeError("missing required field 'request_id'") + + @request_id.setter + def request_id(self, val): + val = self._request_id_validator.validate(val) + self._request_id_value = val + self._request_id_present = True + + @request_id.deleter + def request_id(self): + self._request_id_value = None + self._request_id_present = False + + def __repr__(self): + return 'ApiSessionLogInfo(request_id={!r})'.format( + self._request_id_value, + ) + +ApiSessionLogInfo_validator = bv.Struct(ApiSessionLogInfo) + +class AppLinkTeamDetails(object): + """ + Linked an app for team. + + :ivar app_info: Relevant application details. + """ + + __slots__ = [ + '_app_info_value', + '_app_info_present', + ] + + _has_required_fields = True + + def __init__(self, + app_info=None): + self._app_info_value = None + self._app_info_present = False + if app_info is not None: + self.app_info = app_info + + @property + def app_info(self): + """ + Relevant application details. + + :rtype: AppLogInfo + """ + if self._app_info_present: + return self._app_info_value + else: + raise AttributeError("missing required field 'app_info'") + + @app_info.setter + def app_info(self, val): + self._app_info_validator.validate_type_only(val) + self._app_info_value = val + self._app_info_present = True + + @app_info.deleter + def app_info(self): + self._app_info_value = None + self._app_info_present = False + + def __repr__(self): + return 'AppLinkTeamDetails(app_info={!r})'.format( + self._app_info_value, + ) + +AppLinkTeamDetails_validator = bv.Struct(AppLinkTeamDetails) + +class AppLinkUserDetails(object): + """ + Linked an app for team member. + + :ivar app_info: Relevant application details. + """ + + __slots__ = [ + '_app_info_value', + '_app_info_present', + ] + + _has_required_fields = True + + def __init__(self, + app_info=None): + self._app_info_value = None + self._app_info_present = False + if app_info is not None: + self.app_info = app_info + + @property + def app_info(self): + """ + Relevant application details. + + :rtype: AppLogInfo + """ + if self._app_info_present: + return self._app_info_value + else: + raise AttributeError("missing required field 'app_info'") + + @app_info.setter + def app_info(self, val): + self._app_info_validator.validate_type_only(val) + self._app_info_value = val + self._app_info_present = True + + @app_info.deleter + def app_info(self): + self._app_info_value = None + self._app_info_present = False + + def __repr__(self): + return 'AppLinkUserDetails(app_info={!r})'.format( + self._app_info_value, + ) + +AppLinkUserDetails_validator = bv.Struct(AppLinkUserDetails) + +class AppLogInfo(object): + """ + App's logged information. + + :ivar app_id: App unique ID. Might be missing due to historical data gap. + :ivar display_name: App display name. Might be missing due to historical + data gap. + """ + + __slots__ = [ + '_app_id_value', + '_app_id_present', + '_display_name_value', + '_display_name_present', + ] + + _has_required_fields = False + + def __init__(self, + app_id=None, + display_name=None): + self._app_id_value = None + self._app_id_present = False + self._display_name_value = None + self._display_name_present = False + if app_id is not None: + self.app_id = app_id + if display_name is not None: + self.display_name = display_name + + @property + def app_id(self): + """ + App unique ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._app_id_present: + return self._app_id_value + else: + return None + + @app_id.setter + def app_id(self, val): + if val is None: + del self.app_id + return + val = self._app_id_validator.validate(val) + self._app_id_value = val + self._app_id_present = True + + @app_id.deleter + def app_id(self): + self._app_id_value = None + self._app_id_present = False + + @property + def display_name(self): + """ + App display name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + return None + + @display_name.setter + def display_name(self, val): + if val is None: + del self.display_name + return + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + def __repr__(self): + return 'AppLogInfo(app_id={!r}, display_name={!r})'.format( + self._app_id_value, + self._display_name_value, + ) + +AppLogInfo_validator = bv.StructTree(AppLogInfo) + +class AppUnlinkTeamDetails(object): + """ + Unlinked an app for team. + + :ivar app_info: Relevant application details. + """ + + __slots__ = [ + '_app_info_value', + '_app_info_present', + ] + + _has_required_fields = True + + def __init__(self, + app_info=None): + self._app_info_value = None + self._app_info_present = False + if app_info is not None: + self.app_info = app_info + + @property + def app_info(self): + """ + Relevant application details. + + :rtype: AppLogInfo + """ + if self._app_info_present: + return self._app_info_value + else: + raise AttributeError("missing required field 'app_info'") + + @app_info.setter + def app_info(self, val): + self._app_info_validator.validate_type_only(val) + self._app_info_value = val + self._app_info_present = True + + @app_info.deleter + def app_info(self): + self._app_info_value = None + self._app_info_present = False + + def __repr__(self): + return 'AppUnlinkTeamDetails(app_info={!r})'.format( + self._app_info_value, + ) + +AppUnlinkTeamDetails_validator = bv.Struct(AppUnlinkTeamDetails) + +class AppUnlinkUserDetails(object): + """ + Unlinked an app for team member. + + :ivar app_info: Relevant application details. + """ + + __slots__ = [ + '_app_info_value', + '_app_info_present', + ] + + _has_required_fields = True + + def __init__(self, + app_info=None): + self._app_info_value = None + self._app_info_present = False + if app_info is not None: + self.app_info = app_info + + @property + def app_info(self): + """ + Relevant application details. + + :rtype: AppLogInfo + """ + if self._app_info_present: + return self._app_info_value + else: + raise AttributeError("missing required field 'app_info'") + + @app_info.setter + def app_info(self, val): + self._app_info_validator.validate_type_only(val) + self._app_info_value = val + self._app_info_present = True + + @app_info.deleter + def app_info(self): + self._app_info_value = None + self._app_info_present = False + + def __repr__(self): + return 'AppUnlinkUserDetails(app_info={!r})'.format( + self._app_info_value, + ) + +AppUnlinkUserDetails_validator = bv.Struct(AppUnlinkUserDetails) + +class AssetLogInfo(bb.Union): + """ + Asset details. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar FileLogInfo file: File's details. + :ivar FolderLogInfo folder: Folder's details. + :ivar PaperDocumentLogInfo paper_document: Paper docuement's details. + :ivar PaperFolderLogInfo paper_folder: Paper folder's details. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def file(cls, val): + """ + Create an instance of this class set to the ``file`` tag with value + ``val``. + + :param FileLogInfo val: + :rtype: AssetLogInfo + """ + return cls('file', val) + + @classmethod + def folder(cls, val): + """ + Create an instance of this class set to the ``folder`` tag with value + ``val``. + + :param FolderLogInfo val: + :rtype: AssetLogInfo + """ + return cls('folder', val) + + @classmethod + def paper_document(cls, val): + """ + Create an instance of this class set to the ``paper_document`` tag with + value ``val``. + + :param PaperDocumentLogInfo val: + :rtype: AssetLogInfo + """ + return cls('paper_document', val) + + @classmethod + def paper_folder(cls, val): + """ + Create an instance of this class set to the ``paper_folder`` tag with + value ``val``. + + :param PaperFolderLogInfo val: + :rtype: AssetLogInfo + """ + return cls('paper_folder', val) + + def is_file(self): + """ + Check if the union tag is ``file``. + + :rtype: bool + """ + return self._tag == 'file' + + def is_folder(self): + """ + Check if the union tag is ``folder``. + + :rtype: bool + """ + return self._tag == 'folder' + + def is_paper_document(self): + """ + Check if the union tag is ``paper_document``. + + :rtype: bool + """ + return self._tag == 'paper_document' + + def is_paper_folder(self): + """ + Check if the union tag is ``paper_folder``. + + :rtype: bool + """ + return self._tag == 'paper_folder' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_file(self): + """ + File's details. + + Only call this if :meth:`is_file` is true. + + :rtype: FileLogInfo + """ + if not self.is_file(): + raise AttributeError("tag 'file' not set") + return self._value + + def get_folder(self): + """ + Folder's details. + + Only call this if :meth:`is_folder` is true. + + :rtype: FolderLogInfo + """ + if not self.is_folder(): + raise AttributeError("tag 'folder' not set") + return self._value + + def get_paper_document(self): + """ + Paper docuement's details. + + Only call this if :meth:`is_paper_document` is true. + + :rtype: PaperDocumentLogInfo + """ + if not self.is_paper_document(): + raise AttributeError("tag 'paper_document' not set") + return self._value + + def get_paper_folder(self): + """ + Paper folder's details. + + Only call this if :meth:`is_paper_folder` is true. + + :rtype: PaperFolderLogInfo + """ + if not self.is_paper_folder(): + raise AttributeError("tag 'paper_folder' not set") + return self._value + + def __repr__(self): + return 'AssetLogInfo(%r, %r)' % (self._tag, self._value) + +AssetLogInfo_validator = bv.Union(AssetLogInfo) + +class CollectionShareDetails(object): + """ + Shared an album. + + :ivar album_name: Album name. + """ + + __slots__ = [ + '_album_name_value', + '_album_name_present', + ] + + _has_required_fields = True + + def __init__(self, + album_name=None): + self._album_name_value = None + self._album_name_present = False + if album_name is not None: + self.album_name = album_name + + @property + def album_name(self): + """ + Album name. + + :rtype: str + """ + if self._album_name_present: + return self._album_name_value + else: + raise AttributeError("missing required field 'album_name'") + + @album_name.setter + def album_name(self, val): + val = self._album_name_validator.validate(val) + self._album_name_value = val + self._album_name_present = True + + @album_name.deleter + def album_name(self): + self._album_name_value = None + self._album_name_present = False + + def __repr__(self): + return 'CollectionShareDetails(album_name={!r})'.format( + self._album_name_value, + ) + +CollectionShareDetails_validator = bv.Struct(CollectionShareDetails) + +class Confidentiality(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + confidential = None + # Attribute is overwritten below the class definition + non_confidential = None + # Attribute is overwritten below the class definition + other = None + + def is_confidential(self): + """ + Check if the union tag is ``confidential``. + + :rtype: bool + """ + return self._tag == 'confidential' + + def is_non_confidential(self): + """ + Check if the union tag is ``non_confidential``. + + :rtype: bool + """ + return self._tag == 'non_confidential' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'Confidentiality(%r, %r)' % (self._tag, self._value) + +Confidentiality_validator = bv.Union(Confidentiality) + +class ContextLogInfo(bb.Union): + """ + The primary entity on which the action was done. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar TeamMemberLogInfo team_member: Action was done on behalf of a team + member. + :ivar NonTeamMemberLogInfo non_team_member: Action was done on behalf of a + non team member. + :ivar team: Action was done on behalf of the team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + team = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def team_member(cls, val): + """ + Create an instance of this class set to the ``team_member`` tag with + value ``val``. + + :param TeamMemberLogInfo val: + :rtype: ContextLogInfo + """ + return cls('team_member', val) + + @classmethod + def non_team_member(cls, val): + """ + Create an instance of this class set to the ``non_team_member`` tag with + value ``val``. + + :param NonTeamMemberLogInfo val: + :rtype: ContextLogInfo + """ + return cls('non_team_member', val) + + def is_team_member(self): + """ + Check if the union tag is ``team_member``. + + :rtype: bool + """ + return self._tag == 'team_member' + + def is_non_team_member(self): + """ + Check if the union tag is ``non_team_member``. + + :rtype: bool + """ + return self._tag == 'non_team_member' + + def is_team(self): + """ + Check if the union tag is ``team``. + + :rtype: bool + """ + return self._tag == 'team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_team_member(self): + """ + Action was done on behalf of a team member. + + Only call this if :meth:`is_team_member` is true. + + :rtype: TeamMemberLogInfo + """ + if not self.is_team_member(): + raise AttributeError("tag 'team_member' not set") + return self._value + + def get_non_team_member(self): + """ + Action was done on behalf of a non team member. + + Only call this if :meth:`is_non_team_member` is true. + + :rtype: NonTeamMemberLogInfo + """ + if not self.is_non_team_member(): + raise AttributeError("tag 'non_team_member' not set") + return self._value + + def __repr__(self): + return 'ContextLogInfo(%r, %r)' % (self._tag, self._value) + +ContextLogInfo_validator = bv.Union(ContextLogInfo) + +class CreateFolderDetails(object): + """ + Created folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'CreateFolderDetails()' + +CreateFolderDetails_validator = bv.Struct(CreateFolderDetails) + +class DataPlacementRestrictionChangePolicyDetails(object): + """ + Set a restriction policy regarding the location of data centers where team + data resides. + + :ivar previous_value: Previous placement restriction. + :ivar new_value: New placement restriction. + """ + + __slots__ = [ + '_previous_value_value', + '_previous_value_present', + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_value=None, + new_value=None): + self._previous_value_value = None + self._previous_value_present = False + self._new_value_value = None + self._new_value_present = False + if previous_value is not None: + self.previous_value = previous_value + if new_value is not None: + self.new_value = new_value + + @property + def previous_value(self): + """ + Previous placement restriction. + + :rtype: PlacementRestriction + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + @property + def new_value(self): + """ + New placement restriction. + + :rtype: PlacementRestriction + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + def __repr__(self): + return 'DataPlacementRestrictionChangePolicyDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +DataPlacementRestrictionChangePolicyDetails_validator = bv.Struct(DataPlacementRestrictionChangePolicyDetails) + +class DataPlacementRestrictionSatisfyPolicyDetails(object): + """ + Satisfied a previously set restriction policy regarding the location of data + centers where team data resides (i.e. all data have been migrated according + to the restriction placed). + + :ivar placement_restriction: Placement restriction. + """ + + __slots__ = [ + '_placement_restriction_value', + '_placement_restriction_present', + ] + + _has_required_fields = True + + def __init__(self, + placement_restriction=None): + self._placement_restriction_value = None + self._placement_restriction_present = False + if placement_restriction is not None: + self.placement_restriction = placement_restriction + + @property + def placement_restriction(self): + """ + Placement restriction. + + :rtype: PlacementRestriction + """ + if self._placement_restriction_present: + return self._placement_restriction_value + else: + raise AttributeError("missing required field 'placement_restriction'") + + @placement_restriction.setter + def placement_restriction(self, val): + self._placement_restriction_validator.validate_type_only(val) + self._placement_restriction_value = val + self._placement_restriction_present = True + + @placement_restriction.deleter + def placement_restriction(self): + self._placement_restriction_value = None + self._placement_restriction_present = False + + def __repr__(self): + return 'DataPlacementRestrictionSatisfyPolicyDetails(placement_restriction={!r})'.format( + self._placement_restriction_value, + ) + +DataPlacementRestrictionSatisfyPolicyDetails_validator = bv.Struct(DataPlacementRestrictionSatisfyPolicyDetails) + +class SessionLogInfo(object): + """ + Session's logged information. + + :ivar session_id: Session ID. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_session_id_value', + '_session_id_present', + ] + + _has_required_fields = False + + def __init__(self, + session_id=None): + self._session_id_value = None + self._session_id_present = False + if session_id is not None: + self.session_id = session_id + + @property + def session_id(self): + """ + Session ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._session_id_present: + return self._session_id_value + else: + return None + + @session_id.setter + def session_id(self, val): + if val is None: + del self.session_id + return + val = self._session_id_validator.validate(val) + self._session_id_value = val + self._session_id_present = True + + @session_id.deleter + def session_id(self): + self._session_id_value = None + self._session_id_present = False + + def __repr__(self): + return 'SessionLogInfo(session_id={!r})'.format( + self._session_id_value, + ) + +SessionLogInfo_validator = bv.StructTree(SessionLogInfo) + +class DesktopSessionLogInfo(SessionLogInfo): + """ + Desktop session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + session_id=None): + super(DesktopSessionLogInfo, self).__init__(session_id) + + def __repr__(self): + return 'DesktopSessionLogInfo(session_id={!r})'.format( + self._session_id_value, + ) + +DesktopSessionLogInfo_validator = bv.Struct(DesktopSessionLogInfo) + +class DeviceApprovalsChangeDesktopPolicyDetails(object): + """ + Set or removed a limit on the number of computers each team member can link + to their work Dropbox account. + + :ivar new_value: New desktop device approvals policy. Might be missing due + to historical data gap. + :ivar previous_value: Previous desktop device approvals policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New desktop device approvals policy. Might be missing due to historical + data gap. + + :rtype: DeviceApprovalsPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + return None + + @new_value.setter + def new_value(self, val): + if val is None: + del self.new_value + return + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous desktop device approvals policy. Might be missing due to + historical data gap. + + :rtype: DeviceApprovalsPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'DeviceApprovalsChangeDesktopPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +DeviceApprovalsChangeDesktopPolicyDetails_validator = bv.Struct(DeviceApprovalsChangeDesktopPolicyDetails) + +class DeviceApprovalsChangeMobilePolicyDetails(object): + """ + Set or removed a limit on the number of mobiles devices each team member can + link to their work Dropbox account. + + :ivar new_value: New mobile device approvals policy. Might be missing due to + historical data gap. + :ivar previous_value: Previous mobile device approvals policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New mobile device approvals policy. Might be missing due to historical + data gap. + + :rtype: DeviceApprovalsPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + return None + + @new_value.setter + def new_value(self, val): + if val is None: + del self.new_value + return + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous mobile device approvals policy. Might be missing due to + historical data gap. + + :rtype: DeviceApprovalsPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'DeviceApprovalsChangeMobilePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +DeviceApprovalsChangeMobilePolicyDetails_validator = bv.Struct(DeviceApprovalsChangeMobilePolicyDetails) + +class DeviceApprovalsChangeOverageActionDetails(object): + """ + Changed the action taken when a team member is already over the limits (e.g + when they join the team, an admin lowers limits, etc.). + + :ivar new_value: New over the limits policy. Might be missing due to + historical data gap. + :ivar previous_value: Previous over the limit policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New over the limits policy. Might be missing due to historical data gap. + + :rtype: DeviceApprovalsRolloutPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + return None + + @new_value.setter + def new_value(self, val): + if val is None: + del self.new_value + return + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous over the limit policy. Might be missing due to historical data + gap. + + :rtype: DeviceApprovalsRolloutPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'DeviceApprovalsChangeOverageActionDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +DeviceApprovalsChangeOverageActionDetails_validator = bv.Struct(DeviceApprovalsChangeOverageActionDetails) + +class DeviceApprovalsChangeUnlinkActionDetails(object): + """ + Changed the action taken with respect to approval limits when a team member + unlinks an approved device. + + :ivar new_value: New device unlink policy. Might be missing due to + historical data gap. + :ivar previous_value: Previous device unlink policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New device unlink policy. Might be missing due to historical data gap. + + :rtype: DeviceUnlinkPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + return None + + @new_value.setter + def new_value(self, val): + if val is None: + del self.new_value + return + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous device unlink policy. Might be missing due to historical data + gap. + + :rtype: DeviceUnlinkPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'DeviceApprovalsChangeUnlinkActionDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +DeviceApprovalsChangeUnlinkActionDetails_validator = bv.Struct(DeviceApprovalsChangeUnlinkActionDetails) + +class DeviceApprovalsPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + unlimited = None + # Attribute is overwritten below the class definition + zero = None + # Attribute is overwritten below the class definition + one = None + # Attribute is overwritten below the class definition + two = None + # Attribute is overwritten below the class definition + three = None + # Attribute is overwritten below the class definition + four = None + # Attribute is overwritten below the class definition + five = None + # Attribute is overwritten below the class definition + other = None + + def is_unlimited(self): + """ + Check if the union tag is ``unlimited``. + + :rtype: bool + """ + return self._tag == 'unlimited' + + def is_zero(self): + """ + Check if the union tag is ``zero``. + + :rtype: bool + """ + return self._tag == 'zero' + + def is_one(self): + """ + Check if the union tag is ``one``. + + :rtype: bool + """ + return self._tag == 'one' + + def is_two(self): + """ + Check if the union tag is ``two``. + + :rtype: bool + """ + return self._tag == 'two' + + def is_three(self): + """ + Check if the union tag is ``three``. + + :rtype: bool + """ + return self._tag == 'three' + + def is_four(self): + """ + Check if the union tag is ``four``. + + :rtype: bool + """ + return self._tag == 'four' + + def is_five(self): + """ + Check if the union tag is ``five``. + + :rtype: bool + """ + return self._tag == 'five' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'DeviceApprovalsPolicy(%r, %r)' % (self._tag, self._value) + +DeviceApprovalsPolicy_validator = bv.Union(DeviceApprovalsPolicy) + +class DeviceApprovalsRolloutPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + remove_oldest = None + # Attribute is overwritten below the class definition + remove_all = None + # Attribute is overwritten below the class definition + add_exception = None + # Attribute is overwritten below the class definition + other = None + + def is_remove_oldest(self): + """ + Check if the union tag is ``remove_oldest``. + + :rtype: bool + """ + return self._tag == 'remove_oldest' + + def is_remove_all(self): + """ + Check if the union tag is ``remove_all``. + + :rtype: bool + """ + return self._tag == 'remove_all' + + def is_add_exception(self): + """ + Check if the union tag is ``add_exception``. + + :rtype: bool + """ + return self._tag == 'add_exception' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'DeviceApprovalsRolloutPolicy(%r, %r)' % (self._tag, self._value) + +DeviceApprovalsRolloutPolicy_validator = bv.Union(DeviceApprovalsRolloutPolicy) + +class DeviceChangeIpDesktopDetails(object): + """ + IP address associated with active desktop session changed. + + :ivar device_info: Device information. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None): + self._device_info_value = None + self._device_info_present = False + if device_info is not None: + self.device_info = device_info + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + def __repr__(self): + return 'DeviceChangeIpDesktopDetails(device_info={!r})'.format( + self._device_info_value, + ) + +DeviceChangeIpDesktopDetails_validator = bv.Struct(DeviceChangeIpDesktopDetails) + +class DeviceChangeIpMobileDetails(object): + """ + IP address associated with active mobile session changed. + + :ivar device_info: Device information. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None): + self._device_info_value = None + self._device_info_present = False + if device_info is not None: + self.device_info = device_info + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + def __repr__(self): + return 'DeviceChangeIpMobileDetails(device_info={!r})'.format( + self._device_info_value, + ) + +DeviceChangeIpMobileDetails_validator = bv.Struct(DeviceChangeIpMobileDetails) + +class DeviceChangeIpWebDetails(object): + """ + IP address associated with active Web session changed. + + :ivar user_agent: Web browser name. + """ + + __slots__ = [ + '_user_agent_value', + '_user_agent_present', + ] + + _has_required_fields = True + + def __init__(self, + user_agent=None): + self._user_agent_value = None + self._user_agent_present = False + if user_agent is not None: + self.user_agent = user_agent + + @property + def user_agent(self): + """ + Web browser name. + + :rtype: str + """ + if self._user_agent_present: + return self._user_agent_value + else: + raise AttributeError("missing required field 'user_agent'") + + @user_agent.setter + def user_agent(self, val): + val = self._user_agent_validator.validate(val) + self._user_agent_value = val + self._user_agent_present = True + + @user_agent.deleter + def user_agent(self): + self._user_agent_value = None + self._user_agent_present = False + + def __repr__(self): + return 'DeviceChangeIpWebDetails(user_agent={!r})'.format( + self._user_agent_value, + ) + +DeviceChangeIpWebDetails_validator = bv.Struct(DeviceChangeIpWebDetails) + +class DeviceDeleteOnUnlinkFailDetails(object): + """ + Failed to delete all files from an unlinked device. + + :ivar device_info: Device information. + :ivar num_failures: The number of times that remote file deletion failed. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + '_num_failures_value', + '_num_failures_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None, + num_failures=None): + self._device_info_value = None + self._device_info_present = False + self._num_failures_value = None + self._num_failures_present = False + if device_info is not None: + self.device_info = device_info + if num_failures is not None: + self.num_failures = num_failures + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + @property + def num_failures(self): + """ + The number of times that remote file deletion failed. + + :rtype: long + """ + if self._num_failures_present: + return self._num_failures_value + else: + raise AttributeError("missing required field 'num_failures'") + + @num_failures.setter + def num_failures(self, val): + val = self._num_failures_validator.validate(val) + self._num_failures_value = val + self._num_failures_present = True + + @num_failures.deleter + def num_failures(self): + self._num_failures_value = None + self._num_failures_present = False + + def __repr__(self): + return 'DeviceDeleteOnUnlinkFailDetails(device_info={!r}, num_failures={!r})'.format( + self._device_info_value, + self._num_failures_value, + ) + +DeviceDeleteOnUnlinkFailDetails_validator = bv.Struct(DeviceDeleteOnUnlinkFailDetails) + +class DeviceDeleteOnUnlinkSuccessDetails(object): + """ + Deleted all files from an unlinked device. + + :ivar device_info: Device information. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None): + self._device_info_value = None + self._device_info_present = False + if device_info is not None: + self.device_info = device_info + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + def __repr__(self): + return 'DeviceDeleteOnUnlinkSuccessDetails(device_info={!r})'.format( + self._device_info_value, + ) + +DeviceDeleteOnUnlinkSuccessDetails_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessDetails) + +class DeviceLinkFailDetails(object): + """ + Failed to link a device. + + :ivar device_type: A description of the device used while user approval + blocked. + """ + + __slots__ = [ + '_device_type_value', + '_device_type_present', + ] + + _has_required_fields = True + + def __init__(self, + device_type=None): + self._device_type_value = None + self._device_type_present = False + if device_type is not None: + self.device_type = device_type + + @property + def device_type(self): + """ + A description of the device used while user approval blocked. + + :rtype: DeviceType + """ + if self._device_type_present: + return self._device_type_value + else: + raise AttributeError("missing required field 'device_type'") + + @device_type.setter + def device_type(self, val): + self._device_type_validator.validate_type_only(val) + self._device_type_value = val + self._device_type_present = True + + @device_type.deleter + def device_type(self): + self._device_type_value = None + self._device_type_present = False + + def __repr__(self): + return 'DeviceLinkFailDetails(device_type={!r})'.format( + self._device_type_value, + ) + +DeviceLinkFailDetails_validator = bv.Struct(DeviceLinkFailDetails) + +class DeviceLinkSuccessDetails(object): + """ + Linked a device. + + :ivar device_info: Device information. + :ivar app_version: Linking app version. Might be missing due to historical + data gap. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + '_app_version_value', + '_app_version_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None, + app_version=None): + self._device_info_value = None + self._device_info_present = False + self._app_version_value = None + self._app_version_present = False + if device_info is not None: + self.device_info = device_info + if app_version is not None: + self.app_version = app_version + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + @property + def app_version(self): + """ + Linking app version. Might be missing due to historical data gap. + + :rtype: str + """ + if self._app_version_present: + return self._app_version_value + else: + return None + + @app_version.setter + def app_version(self, val): + if val is None: + del self.app_version + return + val = self._app_version_validator.validate(val) + self._app_version_value = val + self._app_version_present = True + + @app_version.deleter + def app_version(self): + self._app_version_value = None + self._app_version_present = False + + def __repr__(self): + return 'DeviceLinkSuccessDetails(device_info={!r}, app_version={!r})'.format( + self._device_info_value, + self._app_version_value, + ) + +DeviceLinkSuccessDetails_validator = bv.Struct(DeviceLinkSuccessDetails) + +class DeviceLogInfo(object): + """ + Device's logged information. + + :ivar device_id: Device unique id. Might be missing due to historical data + gap. + :ivar display_name: Device display name. Might be missing due to historical + data gap. + :ivar is_emm_managed: True if this device is emm managed, false otherwise. + Might be missing due to historical data gap. + :ivar platform: Device platform name. Might be missing due to historical + data gap. + :ivar mac_address: Device mac address. Might be missing due to historical + data gap. + :ivar os_version: Device OS version. Might be missing due to historical data + gap. + :ivar device_type: Device type. Might be missing due to historical data gap. + :ivar ip_address: IP address. Might be missing due to historical data gap. + :ivar last_activity: Last activity. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_device_id_value', + '_device_id_present', + '_display_name_value', + '_display_name_present', + '_is_emm_managed_value', + '_is_emm_managed_present', + '_platform_value', + '_platform_present', + '_mac_address_value', + '_mac_address_present', + '_os_version_value', + '_os_version_present', + '_device_type_value', + '_device_type_present', + '_ip_address_value', + '_ip_address_present', + '_last_activity_value', + '_last_activity_present', + ] + + _has_required_fields = False + + def __init__(self, + device_id=None, + display_name=None, + is_emm_managed=None, + platform=None, + mac_address=None, + os_version=None, + device_type=None, + ip_address=None, + last_activity=None): + self._device_id_value = None + self._device_id_present = False + self._display_name_value = None + self._display_name_present = False + self._is_emm_managed_value = None + self._is_emm_managed_present = False + self._platform_value = None + self._platform_present = False + self._mac_address_value = None + self._mac_address_present = False + self._os_version_value = None + self._os_version_present = False + self._device_type_value = None + self._device_type_present = False + self._ip_address_value = None + self._ip_address_present = False + self._last_activity_value = None + self._last_activity_present = False + if device_id is not None: + self.device_id = device_id + if display_name is not None: + self.display_name = display_name + if is_emm_managed is not None: + self.is_emm_managed = is_emm_managed + if platform is not None: + self.platform = platform + if mac_address is not None: + self.mac_address = mac_address + if os_version is not None: + self.os_version = os_version + if device_type is not None: + self.device_type = device_type + if ip_address is not None: + self.ip_address = ip_address + if last_activity is not None: + self.last_activity = last_activity + + @property + def device_id(self): + """ + Device unique id. Might be missing due to historical data gap. + + :rtype: str + """ + if self._device_id_present: + return self._device_id_value + else: + return None + + @device_id.setter + def device_id(self, val): + if val is None: + del self.device_id + return + val = self._device_id_validator.validate(val) + self._device_id_value = val + self._device_id_present = True + + @device_id.deleter + def device_id(self): + self._device_id_value = None + self._device_id_present = False + + @property + def display_name(self): + """ + Device display name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + return None + + @display_name.setter + def display_name(self, val): + if val is None: + del self.display_name + return + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + @property + def is_emm_managed(self): + """ + True if this device is emm managed, false otherwise. Might be missing + due to historical data gap. + + :rtype: bool + """ + if self._is_emm_managed_present: + return self._is_emm_managed_value + else: + return None + + @is_emm_managed.setter + def is_emm_managed(self, val): + if val is None: + del self.is_emm_managed + return + val = self._is_emm_managed_validator.validate(val) + self._is_emm_managed_value = val + self._is_emm_managed_present = True + + @is_emm_managed.deleter + def is_emm_managed(self): + self._is_emm_managed_value = None + self._is_emm_managed_present = False + + @property + def platform(self): + """ + Device platform name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._platform_present: + return self._platform_value + else: + return None + + @platform.setter + def platform(self, val): + if val is None: + del self.platform + return + val = self._platform_validator.validate(val) + self._platform_value = val + self._platform_present = True + + @platform.deleter + def platform(self): + self._platform_value = None + self._platform_present = False + + @property + def mac_address(self): + """ + Device mac address. Might be missing due to historical data gap. + + :rtype: str + """ + if self._mac_address_present: + return self._mac_address_value + else: + return None + + @mac_address.setter + def mac_address(self, val): + if val is None: + del self.mac_address + return + val = self._mac_address_validator.validate(val) + self._mac_address_value = val + self._mac_address_present = True + + @mac_address.deleter + def mac_address(self): + self._mac_address_value = None + self._mac_address_present = False + + @property + def os_version(self): + """ + Device OS version. Might be missing due to historical data gap. + + :rtype: str + """ + if self._os_version_present: + return self._os_version_value + else: + return None + + @os_version.setter + def os_version(self, val): + if val is None: + del self.os_version + return + val = self._os_version_validator.validate(val) + self._os_version_value = val + self._os_version_present = True + + @os_version.deleter + def os_version(self): + self._os_version_value = None + self._os_version_present = False + + @property + def device_type(self): + """ + Device type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._device_type_present: + return self._device_type_value + else: + return None + + @device_type.setter + def device_type(self, val): + if val is None: + del self.device_type + return + val = self._device_type_validator.validate(val) + self._device_type_value = val + self._device_type_present = True + + @device_type.deleter + def device_type(self): + self._device_type_value = None + self._device_type_present = False + + @property + def ip_address(self): + """ + IP address. Might be missing due to historical data gap. + + :rtype: str + """ + if self._ip_address_present: + return self._ip_address_value + else: + return None + + @ip_address.setter + def ip_address(self, val): + if val is None: + del self.ip_address + return + val = self._ip_address_validator.validate(val) + self._ip_address_value = val + self._ip_address_present = True + + @ip_address.deleter + def ip_address(self): + self._ip_address_value = None + self._ip_address_present = False + + @property + def last_activity(self): + """ + Last activity. Might be missing due to historical data gap. + + :rtype: str + """ + if self._last_activity_present: + return self._last_activity_value + else: + return None + + @last_activity.setter + def last_activity(self, val): + if val is None: + del self.last_activity + return + val = self._last_activity_validator.validate(val) + self._last_activity_value = val + self._last_activity_present = True + + @last_activity.deleter + def last_activity(self): + self._last_activity_value = None + self._last_activity_present = False + + def __repr__(self): + return 'DeviceLogInfo(device_id={!r}, display_name={!r}, is_emm_managed={!r}, platform={!r}, mac_address={!r}, os_version={!r}, device_type={!r}, ip_address={!r}, last_activity={!r})'.format( + self._device_id_value, + self._display_name_value, + self._is_emm_managed_value, + self._platform_value, + self._mac_address_value, + self._os_version_value, + self._device_type_value, + self._ip_address_value, + self._last_activity_value, + ) + +DeviceLogInfo_validator = bv.Struct(DeviceLogInfo) + +class DeviceManagementDisabledDetails(object): + """ + Disable Device Management. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DeviceManagementDisabledDetails()' + +DeviceManagementDisabledDetails_validator = bv.Struct(DeviceManagementDisabledDetails) + +class DeviceManagementEnabledDetails(object): + """ + Enable Device Management. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DeviceManagementEnabledDetails()' + +DeviceManagementEnabledDetails_validator = bv.Struct(DeviceManagementEnabledDetails) + +class DeviceType(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + mobile = None + # Attribute is overwritten below the class definition + desktop = None + # Attribute is overwritten below the class definition + other = None + + def is_mobile(self): + """ + Check if the union tag is ``mobile``. + + :rtype: bool + """ + return self._tag == 'mobile' + + def is_desktop(self): + """ + Check if the union tag is ``desktop``. + + :rtype: bool + """ + return self._tag == 'desktop' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'DeviceType(%r, %r)' % (self._tag, self._value) + +DeviceType_validator = bv.Union(DeviceType) + +class DeviceUnlinkDetails(object): + """ + Disconnected a device. + + :ivar device_info: Device information. + :ivar delete_data: True if the user requested to delete data after device + unlink, false otherwise. + """ + + __slots__ = [ + '_device_info_value', + '_device_info_present', + '_delete_data_value', + '_delete_data_present', + ] + + _has_required_fields = True + + def __init__(self, + device_info=None, + delete_data=None): + self._device_info_value = None + self._device_info_present = False + self._delete_data_value = None + self._delete_data_present = False + if device_info is not None: + self.device_info = device_info + if delete_data is not None: + self.delete_data = delete_data + + @property + def device_info(self): + """ + Device information. + + :rtype: DeviceLogInfo + """ + if self._device_info_present: + return self._device_info_value + else: + raise AttributeError("missing required field 'device_info'") + + @device_info.setter + def device_info(self, val): + self._device_info_validator.validate_type_only(val) + self._device_info_value = val + self._device_info_present = True + + @device_info.deleter + def device_info(self): + self._device_info_value = None + self._device_info_present = False + + @property + def delete_data(self): + """ + True if the user requested to delete data after device unlink, false + otherwise. + + :rtype: bool + """ + if self._delete_data_present: + return self._delete_data_value + else: + raise AttributeError("missing required field 'delete_data'") + + @delete_data.setter + def delete_data(self, val): + val = self._delete_data_validator.validate(val) + self._delete_data_value = val + self._delete_data_present = True + + @delete_data.deleter + def delete_data(self): + self._delete_data_value = None + self._delete_data_present = False + + def __repr__(self): + return 'DeviceUnlinkDetails(device_info={!r}, delete_data={!r})'.format( + self._device_info_value, + self._delete_data_value, + ) + +DeviceUnlinkDetails_validator = bv.Struct(DeviceUnlinkDetails) + +class DeviceUnlinkPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + remove = None + # Attribute is overwritten below the class definition + keep = None + # Attribute is overwritten below the class definition + other = None + + def is_remove(self): + """ + Check if the union tag is ``remove``. + + :rtype: bool + """ + return self._tag == 'remove' + + def is_keep(self): + """ + Check if the union tag is ``keep``. + + :rtype: bool + """ + return self._tag == 'keep' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'DeviceUnlinkPolicy(%r, %r)' % (self._tag, self._value) + +DeviceUnlinkPolicy_validator = bv.Union(DeviceUnlinkPolicy) + +class DisabledDomainInvitesDetails(object): + """ + Disabled domain invites. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DisabledDomainInvitesDetails()' + +DisabledDomainInvitesDetails_validator = bv.Struct(DisabledDomainInvitesDetails) + +class DomainInvitesApproveRequestToJoinTeamDetails(object): + """ + Approved a member's request to join the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DomainInvitesApproveRequestToJoinTeamDetails()' + +DomainInvitesApproveRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesApproveRequestToJoinTeamDetails) + +class DomainInvitesDeclineRequestToJoinTeamDetails(object): + """ + Declined a user's request to join the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DomainInvitesDeclineRequestToJoinTeamDetails()' + +DomainInvitesDeclineRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesDeclineRequestToJoinTeamDetails) + +class DomainInvitesEmailExistingUsersDetails(object): + """ + Sent domain invites to existing domain accounts. + + :ivar domain_name: Domain names. + :ivar num_recipients: Number of recipients. + """ + + __slots__ = [ + '_domain_name_value', + '_domain_name_present', + '_num_recipients_value', + '_num_recipients_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_name=None, + num_recipients=None): + self._domain_name_value = None + self._domain_name_present = False + self._num_recipients_value = None + self._num_recipients_present = False + if domain_name is not None: + self.domain_name = domain_name + if num_recipients is not None: + self.num_recipients = num_recipients + + @property + def domain_name(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_name_present: + return self._domain_name_value + else: + raise AttributeError("missing required field 'domain_name'") + + @domain_name.setter + def domain_name(self, val): + val = self._domain_name_validator.validate(val) + self._domain_name_value = val + self._domain_name_present = True + + @domain_name.deleter + def domain_name(self): + self._domain_name_value = None + self._domain_name_present = False + + @property + def num_recipients(self): + """ + Number of recipients. + + :rtype: long + """ + if self._num_recipients_present: + return self._num_recipients_value + else: + raise AttributeError("missing required field 'num_recipients'") + + @num_recipients.setter + def num_recipients(self, val): + val = self._num_recipients_validator.validate(val) + self._num_recipients_value = val + self._num_recipients_present = True + + @num_recipients.deleter + def num_recipients(self): + self._num_recipients_value = None + self._num_recipients_present = False + + def __repr__(self): + return 'DomainInvitesEmailExistingUsersDetails(domain_name={!r}, num_recipients={!r})'.format( + self._domain_name_value, + self._num_recipients_value, + ) + +DomainInvitesEmailExistingUsersDetails_validator = bv.Struct(DomainInvitesEmailExistingUsersDetails) + +class DomainInvitesRequestToJoinTeamDetails(object): + """ + Asked to join the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DomainInvitesRequestToJoinTeamDetails()' + +DomainInvitesRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesRequestToJoinTeamDetails) + +class DomainInvitesSetInviteNewUserPrefToNoDetails(object): + """ + Turned off u201cAutomatically invite new usersu201d. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DomainInvitesSetInviteNewUserPrefToNoDetails()' + +DomainInvitesSetInviteNewUserPrefToNoDetails_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToNoDetails) + +class DomainInvitesSetInviteNewUserPrefToYesDetails(object): + """ + Turned on u201cAutomatically invite new usersu201d. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'DomainInvitesSetInviteNewUserPrefToYesDetails()' + +DomainInvitesSetInviteNewUserPrefToYesDetails_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToYesDetails) + +class DomainVerificationAddDomainFailDetails(object): + """ + Failed to verify a domain belonging to the team. + + :ivar domain_names: Domain names. + :ivar verification_method: Domain name verification method. + """ + + __slots__ = [ + '_domain_names_value', + '_domain_names_present', + '_verification_method_value', + '_verification_method_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_names=None, + verification_method=None): + self._domain_names_value = None + self._domain_names_present = False + self._verification_method_value = None + self._verification_method_present = False + if domain_names is not None: + self.domain_names = domain_names + if verification_method is not None: + self.verification_method = verification_method + + @property + def domain_names(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_names_present: + return self._domain_names_value + else: + raise AttributeError("missing required field 'domain_names'") + + @domain_names.setter + def domain_names(self, val): + val = self._domain_names_validator.validate(val) + self._domain_names_value = val + self._domain_names_present = True + + @domain_names.deleter + def domain_names(self): + self._domain_names_value = None + self._domain_names_present = False + + @property + def verification_method(self): + """ + Domain name verification method. + + :rtype: str + """ + if self._verification_method_present: + return self._verification_method_value + else: + return None + + @verification_method.setter + def verification_method(self, val): + if val is None: + del self.verification_method + return + val = self._verification_method_validator.validate(val) + self._verification_method_value = val + self._verification_method_present = True + + @verification_method.deleter + def verification_method(self): + self._verification_method_value = None + self._verification_method_present = False + + def __repr__(self): + return 'DomainVerificationAddDomainFailDetails(domain_names={!r}, verification_method={!r})'.format( + self._domain_names_value, + self._verification_method_value, + ) + +DomainVerificationAddDomainFailDetails_validator = bv.Struct(DomainVerificationAddDomainFailDetails) + +class DomainVerificationAddDomainSuccessDetails(object): + """ + Verified a domain belonging to the team. + + :ivar domain_names: Domain names. + :ivar verification_method: Domain name verification method. + """ + + __slots__ = [ + '_domain_names_value', + '_domain_names_present', + '_verification_method_value', + '_verification_method_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_names=None, + verification_method=None): + self._domain_names_value = None + self._domain_names_present = False + self._verification_method_value = None + self._verification_method_present = False + if domain_names is not None: + self.domain_names = domain_names + if verification_method is not None: + self.verification_method = verification_method + + @property + def domain_names(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_names_present: + return self._domain_names_value + else: + raise AttributeError("missing required field 'domain_names'") + + @domain_names.setter + def domain_names(self, val): + val = self._domain_names_validator.validate(val) + self._domain_names_value = val + self._domain_names_present = True + + @domain_names.deleter + def domain_names(self): + self._domain_names_value = None + self._domain_names_present = False + + @property + def verification_method(self): + """ + Domain name verification method. + + :rtype: str + """ + if self._verification_method_present: + return self._verification_method_value + else: + return None + + @verification_method.setter + def verification_method(self, val): + if val is None: + del self.verification_method + return + val = self._verification_method_validator.validate(val) + self._verification_method_value = val + self._verification_method_present = True + + @verification_method.deleter + def verification_method(self): + self._verification_method_value = None + self._verification_method_present = False + + def __repr__(self): + return 'DomainVerificationAddDomainSuccessDetails(domain_names={!r}, verification_method={!r})'.format( + self._domain_names_value, + self._verification_method_value, + ) + +DomainVerificationAddDomainSuccessDetails_validator = bv.Struct(DomainVerificationAddDomainSuccessDetails) + +class DomainVerificationRemoveDomainDetails(object): + """ + Removed a domain from the list of verified domains belonging to the team. + + :ivar domain_names: Domain names. + """ + + __slots__ = [ + '_domain_names_value', + '_domain_names_present', + ] + + _has_required_fields = True + + def __init__(self, + domain_names=None): + self._domain_names_value = None + self._domain_names_present = False + if domain_names is not None: + self.domain_names = domain_names + + @property + def domain_names(self): + """ + Domain names. + + :rtype: list of [str] + """ + if self._domain_names_present: + return self._domain_names_value + else: + raise AttributeError("missing required field 'domain_names'") + + @domain_names.setter + def domain_names(self, val): + val = self._domain_names_validator.validate(val) + self._domain_names_value = val + self._domain_names_present = True + + @domain_names.deleter + def domain_names(self): + self._domain_names_value = None + self._domain_names_present = False + + def __repr__(self): + return 'DomainVerificationRemoveDomainDetails(domain_names={!r})'.format( + self._domain_names_value, + ) + +DomainVerificationRemoveDomainDetails_validator = bv.Struct(DomainVerificationRemoveDomainDetails) + +class EmmAddExceptionDetails(object): + """ + Added an exception for one or more team members to optionally use the + regular Dropbox app when EMM is enabled. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmAddExceptionDetails()' + +EmmAddExceptionDetails_validator = bv.Struct(EmmAddExceptionDetails) + +class EmmChangePolicyDetails(object): + """ + Enabled or disabled enterprise mobility management for team members. + + :ivar new_value: New enterprise mobility management policy. + :ivar previous_value: Previous enterprise mobility management policy. Might + be missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New enterprise mobility management policy. + + :rtype: OptionalChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous enterprise mobility management policy. Might be missing due to + historical data gap. + + :rtype: OptionalChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'EmmChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +EmmChangePolicyDetails_validator = bv.Struct(EmmChangePolicyDetails) + +class EmmCreateExceptionsReportDetails(object): + """ + EMM excluded users report created. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmCreateExceptionsReportDetails()' + +EmmCreateExceptionsReportDetails_validator = bv.Struct(EmmCreateExceptionsReportDetails) + +class EmmCreateUsageReportDetails(object): + """ + EMM mobile app usage report created. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmCreateUsageReportDetails()' + +EmmCreateUsageReportDetails_validator = bv.Struct(EmmCreateUsageReportDetails) + +class EmmLoginSuccessDetails(object): + """ + Signed in using the Dropbox EMM app. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmLoginSuccessDetails()' + +EmmLoginSuccessDetails_validator = bv.Struct(EmmLoginSuccessDetails) + +class EmmRefreshAuthTokenDetails(object): + """ + Refreshed the auth token used for setting up enterprise mobility management. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmRefreshAuthTokenDetails()' + +EmmRefreshAuthTokenDetails_validator = bv.Struct(EmmRefreshAuthTokenDetails) + +class EmmRemoveExceptionDetails(object): + """ + Removed an exception for one or more team members to optionally use the + regular Dropbox app when EMM is enabled. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EmmRemoveExceptionDetails()' + +EmmRemoveExceptionDetails_validator = bv.Struct(EmmRemoveExceptionDetails) + +class EnableDisableChangePolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + enabled = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_enabled(self): + """ + Check if the union tag is ``enabled``. + + :rtype: bool + """ + return self._tag == 'enabled' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'EnableDisableChangePolicy(%r, %r)' % (self._tag, self._value) + +EnableDisableChangePolicy_validator = bv.Union(EnableDisableChangePolicy) + +class EnabledDomainInvitesDetails(object): + """ + Enabled domain invites. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'EnabledDomainInvitesDetails()' + +EnabledDomainInvitesDetails_validator = bv.Struct(EnabledDomainInvitesDetails) + +class EventCategory(bb.Union): + """ + Category of events in event audit log. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar account_capture: Events that have to do with account capture and + invite enforcement on team-owned domains. + :ivar administration: Events that relate to team and team member account + administration or team administration. Note that these actions are not + necessarily performed by team admins. They might also be performed by + Dropbox Support or System or by team members on their own accounts. + :ivar apps: Events that apply to management of linked apps. + :ivar authentication: Events that apply to user authentication in some way. + :ivar comments: Events that have to do with comments on files and Paper + documents. + :ivar content_access: Events that apply to changes how people can access + content on Dropbox as well as actions that represent actually accessing + content. + :ivar devices: Events that apply to linked devices on mobile, desktop and + Web platforms. + :ivar device_approvals: Events that concern device approvals and device + management. + :ivar domains: Events that involve domain management feature: domain + verification, invite enforcement and account capture. + :ivar emm: Events that involve enterprise mobility management and the + Dropbox EMM app. + :ivar errors: Events that mark some type of unexpected outcome. + :ivar files: Events that mark a user's interaction with files and folders on + Dropbox. + :ivar file_operations: Events that have to do with filesystem operations on + files and folders: copy, move, delete, etc. + :ivar file_requests: Events that apply to the file requests feature. + :ivar groups: Events that involve group management. + :ivar logins: Events that involve users signing in to or out of Dropbox. + :ivar members: Events that involve team member management. + :ivar paper: Events that apply to Dropbox Paper. + :ivar passwords: Events that involve using, changing or resetting passwords. + :ivar reports: Events that concern generation of admin reports, including + team activity and device usage. + :ivar sessions: Events that mark the beginning or end of sessions as well as + those that apply to an ongoing session. + :ivar shared_files: Events that specifically apply to shared files. + :ivar shared_folders: Events that specifically apply to shared folders. + :ivar shared_links: Events that specifically apply to link sharing. + :ivar sharing: Events that apply to all types of sharing and collaboration. + :ivar sharing_policies: Events that concern policies that affect sharing - + both at the team level and at the folder level. + :ivar sso: Events that involve using or configuring single sign-on as well + as administrative policies concerning single sign-on. + :ivar team_folders: Events that involve team folder management. + :ivar team_policies: Events that involve a change in team-wide policies. + :ivar team_profile: Events that involve a change in the team profile. + :ivar tfa: Events that involve using or configuring two factor + authentication as well as administrative policies concerning two factor + authentication. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + account_capture = None + # Attribute is overwritten below the class definition + administration = None + # Attribute is overwritten below the class definition + apps = None + # Attribute is overwritten below the class definition + authentication = None + # Attribute is overwritten below the class definition + comments = None + # Attribute is overwritten below the class definition + content_access = None + # Attribute is overwritten below the class definition + devices = None + # Attribute is overwritten below the class definition + device_approvals = None + # Attribute is overwritten below the class definition + domains = None + # Attribute is overwritten below the class definition + emm = None + # Attribute is overwritten below the class definition + errors = None + # Attribute is overwritten below the class definition + files = None + # Attribute is overwritten below the class definition + file_operations = None + # Attribute is overwritten below the class definition + file_requests = None + # Attribute is overwritten below the class definition + groups = None + # Attribute is overwritten below the class definition + logins = None + # Attribute is overwritten below the class definition + members = None + # Attribute is overwritten below the class definition + paper = None + # Attribute is overwritten below the class definition + passwords = None + # Attribute is overwritten below the class definition + reports = None + # Attribute is overwritten below the class definition + sessions = None + # Attribute is overwritten below the class definition + shared_files = None + # Attribute is overwritten below the class definition + shared_folders = None + # Attribute is overwritten below the class definition + shared_links = None + # Attribute is overwritten below the class definition + sharing = None + # Attribute is overwritten below the class definition + sharing_policies = None + # Attribute is overwritten below the class definition + sso = None + # Attribute is overwritten below the class definition + team_folders = None + # Attribute is overwritten below the class definition + team_policies = None + # Attribute is overwritten below the class definition + team_profile = None + # Attribute is overwritten below the class definition + tfa = None + # Attribute is overwritten below the class definition + other = None + + def is_account_capture(self): + """ + Check if the union tag is ``account_capture``. + + :rtype: bool + """ + return self._tag == 'account_capture' + + def is_administration(self): + """ + Check if the union tag is ``administration``. + + :rtype: bool + """ + return self._tag == 'administration' + + def is_apps(self): + """ + Check if the union tag is ``apps``. + + :rtype: bool + """ + return self._tag == 'apps' + + def is_authentication(self): + """ + Check if the union tag is ``authentication``. + + :rtype: bool + """ + return self._tag == 'authentication' + + def is_comments(self): + """ + Check if the union tag is ``comments``. + + :rtype: bool + """ + return self._tag == 'comments' + + def is_content_access(self): + """ + Check if the union tag is ``content_access``. + + :rtype: bool + """ + return self._tag == 'content_access' + + def is_devices(self): + """ + Check if the union tag is ``devices``. + + :rtype: bool + """ + return self._tag == 'devices' + + def is_device_approvals(self): + """ + Check if the union tag is ``device_approvals``. + + :rtype: bool + """ + return self._tag == 'device_approvals' + + def is_domains(self): + """ + Check if the union tag is ``domains``. + + :rtype: bool + """ + return self._tag == 'domains' + + def is_emm(self): + """ + Check if the union tag is ``emm``. + + :rtype: bool + """ + return self._tag == 'emm' + + def is_errors(self): + """ + Check if the union tag is ``errors``. + + :rtype: bool + """ + return self._tag == 'errors' + + def is_files(self): + """ + Check if the union tag is ``files``. + + :rtype: bool + """ + return self._tag == 'files' + + def is_file_operations(self): + """ + Check if the union tag is ``file_operations``. + + :rtype: bool + """ + return self._tag == 'file_operations' + + def is_file_requests(self): + """ + Check if the union tag is ``file_requests``. + + :rtype: bool + """ + return self._tag == 'file_requests' + + def is_groups(self): + """ + Check if the union tag is ``groups``. + + :rtype: bool + """ + return self._tag == 'groups' + + def is_logins(self): + """ + Check if the union tag is ``logins``. + + :rtype: bool + """ + return self._tag == 'logins' + + def is_members(self): + """ + Check if the union tag is ``members``. + + :rtype: bool + """ + return self._tag == 'members' + + def is_paper(self): + """ + Check if the union tag is ``paper``. + + :rtype: bool + """ + return self._tag == 'paper' + + def is_passwords(self): + """ + Check if the union tag is ``passwords``. + + :rtype: bool + """ + return self._tag == 'passwords' + + def is_reports(self): + """ + Check if the union tag is ``reports``. + + :rtype: bool + """ + return self._tag == 'reports' + + def is_sessions(self): + """ + Check if the union tag is ``sessions``. + + :rtype: bool + """ + return self._tag == 'sessions' + + def is_shared_files(self): + """ + Check if the union tag is ``shared_files``. + + :rtype: bool + """ + return self._tag == 'shared_files' + + def is_shared_folders(self): + """ + Check if the union tag is ``shared_folders``. + + :rtype: bool + """ + return self._tag == 'shared_folders' + + def is_shared_links(self): + """ + Check if the union tag is ``shared_links``. + + :rtype: bool + """ + return self._tag == 'shared_links' + + def is_sharing(self): + """ + Check if the union tag is ``sharing``. + + :rtype: bool + """ + return self._tag == 'sharing' + + def is_sharing_policies(self): + """ + Check if the union tag is ``sharing_policies``. + + :rtype: bool + """ + return self._tag == 'sharing_policies' + + def is_sso(self): + """ + Check if the union tag is ``sso``. + + :rtype: bool + """ + return self._tag == 'sso' + + def is_team_folders(self): + """ + Check if the union tag is ``team_folders``. + + :rtype: bool + """ + return self._tag == 'team_folders' + + def is_team_policies(self): + """ + Check if the union tag is ``team_policies``. + + :rtype: bool + """ + return self._tag == 'team_policies' + + def is_team_profile(self): + """ + Check if the union tag is ``team_profile``. + + :rtype: bool + """ + return self._tag == 'team_profile' + + def is_tfa(self): + """ + Check if the union tag is ``tfa``. + + :rtype: bool + """ + return self._tag == 'tfa' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'EventCategory(%r, %r)' % (self._tag, self._value) + +EventCategory_validator = bv.Union(EventCategory) + +class EventDetails(bb.Union): + """ + Additional fields depending on the event type. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar MemberChangeMembershipTypeDetails + member_change_membership_type_details: Changed the membership type + (limited vs full) for team member. + :ivar MemberPermanentlyDeleteAccountContentsDetails + member_permanently_delete_account_contents_details: Permanently deleted + contents of a removed team member account. + :ivar MemberSpaceLimitsChangeStatusDetails + member_space_limits_change_status_details: Changed the status with + respect to whether the team member is under or over storage quota + specified by policy. + :ivar MemberTransferAccountContentsDetails + member_transfer_account_contents_details: Transferred contents of a + removed team member account to another member. + :ivar PaperEnabledUsersGroupAdditionDetails + paper_enabled_users_group_addition_details: Users added to Paper enabled + users list. + :ivar PaperEnabledUsersGroupRemovalDetails + paper_enabled_users_group_removal_details: Users removed from Paper + enabled users list. + :ivar PaperExternalViewAllowDetails paper_external_view_allow_details: Paper + external sharing policy changed: anyone. + :ivar PaperExternalViewDefaultTeamDetails + paper_external_view_default_team_details: Paper external sharing policy + changed: default team. + :ivar PaperExternalViewForbidDetails paper_external_view_forbid_details: + Paper external sharing policy changed: team-only. + :ivar SfExternalInviteWarnDetails sf_external_invite_warn_details: Admin + settings: team members see a warning before sharing folders outside the + team (DEPRECATED FEATURE). + :ivar TeamMergeDetails team_merge_details: Merged the team into another + team. + :ivar AppLinkTeamDetails app_link_team_details: Linked an app for team. + :ivar AppLinkUserDetails app_link_user_details: Linked an app for team + member. + :ivar AppUnlinkTeamDetails app_unlink_team_details: Unlinked an app for + team. + :ivar AppUnlinkUserDetails app_unlink_user_details: Unlinked an app for team + member. + :ivar DeviceChangeIpDesktopDetails device_change_ip_desktop_details: IP + address associated with active desktop session changed. + :ivar DeviceChangeIpMobileDetails device_change_ip_mobile_details: IP + address associated with active mobile session changed. + :ivar DeviceChangeIpWebDetails device_change_ip_web_details: IP address + associated with active Web session changed. + :ivar DeviceDeleteOnUnlinkFailDetails device_delete_on_unlink_fail_details: + Failed to delete all files from an unlinked device. + :ivar DeviceDeleteOnUnlinkSuccessDetails + device_delete_on_unlink_success_details: Deleted all files from an + unlinked device. + :ivar DeviceLinkFailDetails device_link_fail_details: Failed to link a + device. + :ivar DeviceLinkSuccessDetails device_link_success_details: Linked a device. + :ivar DeviceManagementDisabledDetails device_management_disabled_details: + Disable Device Management. + :ivar DeviceManagementEnabledDetails device_management_enabled_details: + Enable Device Management. + :ivar DeviceUnlinkDetails device_unlink_details: Disconnected a device. + :ivar EmmRefreshAuthTokenDetails emm_refresh_auth_token_details: Refreshed + the auth token used for setting up enterprise mobility management. + :ivar AccountCaptureChangeAvailabilityDetails + account_capture_change_availability_details: Granted or revoked the + option to enable account capture on domains belonging to the team. + :ivar AccountCaptureMigrateAccountDetails + account_capture_migrate_account_details: Account captured user migrated + their account to the team. + :ivar AccountCaptureRelinquishAccountDetails + account_capture_relinquish_account_details: Account captured user + relinquished their account by changing the email address associated with + it. + :ivar DisabledDomainInvitesDetails disabled_domain_invites_details: Disabled + domain invites. + :ivar DomainInvitesApproveRequestToJoinTeamDetails + domain_invites_approve_request_to_join_team_details: Approved a member's + request to join the team. + :ivar DomainInvitesDeclineRequestToJoinTeamDetails + domain_invites_decline_request_to_join_team_details: Declined a user's + request to join the team. + :ivar DomainInvitesEmailExistingUsersDetails + domain_invites_email_existing_users_details: Sent domain invites to + existing domain accounts. + :ivar DomainInvitesRequestToJoinTeamDetails + domain_invites_request_to_join_team_details: Asked to join the team. + :ivar DomainInvitesSetInviteNewUserPrefToNoDetails + domain_invites_set_invite_new_user_pref_to_no_details: Turned off + u201cAutomatically invite new usersu201d. + :ivar DomainInvitesSetInviteNewUserPrefToYesDetails + domain_invites_set_invite_new_user_pref_to_yes_details: Turned on + u201cAutomatically invite new usersu201d. + :ivar DomainVerificationAddDomainFailDetails + domain_verification_add_domain_fail_details: Failed to verify a domain + belonging to the team. + :ivar DomainVerificationAddDomainSuccessDetails + domain_verification_add_domain_success_details: Verified a domain + belonging to the team. + :ivar DomainVerificationRemoveDomainDetails + domain_verification_remove_domain_details: Removed a domain from the + list of verified domains belonging to the team. + :ivar EnabledDomainInvitesDetails enabled_domain_invites_details: Enabled + domain invites. + :ivar CreateFolderDetails create_folder_details: Created folders. + :ivar FileAddDetails file_add_details: Added files and/or folders. + :ivar FileCopyDetails file_copy_details: Copied files and/or folders. + :ivar FileDeleteDetails file_delete_details: Deleted files and/or folders. + :ivar FileDownloadDetails file_download_details: Downloaded files and/or + folders. + :ivar FileEditDetails file_edit_details: Edited files. + :ivar FileGetCopyReferenceDetails file_get_copy_reference_details: Create a + copy reference to a file or folder. + :ivar FileMoveDetails file_move_details: Moved files and/or folders. + :ivar FilePermanentlyDeleteDetails file_permanently_delete_details: + Permanently deleted files and/or folders. + :ivar FilePreviewDetails file_preview_details: Previewed files and/or + folders. + :ivar FileRenameDetails file_rename_details: Renamed files and/or folders. + :ivar FileRestoreDetails file_restore_details: Restored deleted files and/or + folders. + :ivar FileRevertDetails file_revert_details: Reverted files to a previous + version. + :ivar FileRollbackChangesDetails file_rollback_changes_details: Rolled back + file change location changes. + :ivar FileSaveCopyReferenceDetails file_save_copy_reference_details: Save a + file or folder using a copy reference. + :ivar FileRequestAddDeadlineDetails file_request_add_deadline_details: Added + a deadline to a file request. + :ivar FileRequestChangeFolderDetails file_request_change_folder_details: + Changed the file request folder. + :ivar FileRequestChangeTitleDetails file_request_change_title_details: + Change the file request title. + :ivar FileRequestCloseDetails file_request_close_details: Closed a file + request. + :ivar FileRequestCreateDetails file_request_create_details: Created a file + request. + :ivar FileRequestReceiveFileDetails file_request_receive_file_details: + Received files for a file request. + :ivar FileRequestRemoveDeadlineDetails file_request_remove_deadline_details: + Removed the file request deadline. + :ivar FileRequestSendDetails file_request_send_details: Sent file request to + users via email. + :ivar GroupAddExternalIdDetails group_add_external_id_details: Added an + external ID for group. + :ivar GroupAddMemberDetails group_add_member_details: Added team members to + a group. + :ivar GroupChangeExternalIdDetails group_change_external_id_details: Changed + the external ID for group. + :ivar GroupChangeManagementTypeDetails group_change_management_type_details: + Changed group management type. + :ivar GroupChangeMemberRoleDetails group_change_member_role_details: Changed + the manager permissions belonging to a group member. + :ivar GroupCreateDetails group_create_details: Created a group. + :ivar GroupDeleteDetails group_delete_details: Deleted a group. + :ivar GroupDescriptionUpdatedDetails group_description_updated_details: + Updated a group. + :ivar GroupJoinPolicyUpdatedDetails group_join_policy_updated_details: + Updated a group join policy. + :ivar GroupMovedDetails group_moved_details: Moved a group. + :ivar GroupRemoveExternalIdDetails group_remove_external_id_details: Removed + the external ID for group. + :ivar GroupRemoveMemberDetails group_remove_member_details: Removed team + members from a group. + :ivar GroupRenameDetails group_rename_details: Renamed a group. + :ivar EmmLoginSuccessDetails emm_login_success_details: Signed in using the + Dropbox EMM app. + :ivar LogoutDetails logout_details: Signed out. + :ivar PasswordLoginFailDetails password_login_fail_details: Failed to sign + in using a password. + :ivar PasswordLoginSuccessDetails password_login_success_details: Signed in + using a password. + :ivar ResellerSupportSessionEndDetails reseller_support_session_end_details: + Ended reseller support session. + :ivar ResellerSupportSessionStartDetails + reseller_support_session_start_details: Started reseller support + session. + :ivar SignInAsSessionEndDetails sign_in_as_session_end_details: Ended admin + sign-in-as session. + :ivar SignInAsSessionStartDetails sign_in_as_session_start_details: Started + admin sign-in-as session. + :ivar SsoLoginFailDetails sso_login_fail_details: Failed to sign in using + SSO. + :ivar MemberAddNameDetails member_add_name_details: Set team member name + when joining team. + :ivar MemberChangeEmailDetails member_change_email_details: Changed team + member email address. + :ivar MemberChangeNameDetails member_change_name_details: Changed team + member name. + :ivar MemberChangeRoleDetails member_change_role_details: Change the admin + permissions belonging to team member. + :ivar MemberInviteDetails member_invite_details: Invited a user to join the + team. + :ivar MemberJoinDetails member_join_details: Joined the team. + :ivar MemberLeaveDetails member_leave_details: Removed a team member. + :ivar MemberRecoverDetails member_recover_details: Recovered a removed + member. + :ivar MemberSuggestDetails member_suggest_details: Suggested a new team + member to be added to the team. + :ivar MemberSuspendDetails member_suspend_details: Suspended a team member. + :ivar MemberUnsuspendDetails member_unsuspend_details: Unsuspended a team + member. + :ivar PaperContentAddMemberDetails paper_content_add_member_details: Added + users to the membership of a Paper doc or folder. + :ivar PaperContentAddToFolderDetails paper_content_add_to_folder_details: + Added Paper doc or folder to a folder. + :ivar PaperContentArchiveDetails paper_content_archive_details: Archived + Paper doc or folder. + :ivar PaperContentChangeSubscriptionDetails + paper_content_change_subscription_details: Followed or unfollowed a + Paper doc or folder. + :ivar PaperContentCreateDetails paper_content_create_details: Created a + Paper doc or folder. + :ivar PaperContentPermanentlyDeleteDetails + paper_content_permanently_delete_details: Permanently deleted a Paper + doc or folder. + :ivar PaperContentRemoveFromFolderDetails + paper_content_remove_from_folder_details: Removed Paper doc or folder + from a folder. + :ivar PaperContentRemoveMemberDetails paper_content_remove_member_details: + Removed a user from the membership of a Paper doc or folder. + :ivar PaperContentRenameDetails paper_content_rename_details: Renamed Paper + doc or folder. + :ivar PaperContentRestoreDetails paper_content_restore_details: Restored an + archived Paper doc or folder. + :ivar PaperDocAddCommentDetails paper_doc_add_comment_details: Added a Paper + doc comment. + :ivar PaperDocChangeMemberRoleDetails paper_doc_change_member_role_details: + Changed the access type of a Paper doc member. + :ivar PaperDocChangeSharingPolicyDetails + paper_doc_change_sharing_policy_details: Changed the sharing policy for + Paper doc. + :ivar PaperDocDeletedDetails paper_doc_deleted_details: Paper doc archived. + :ivar PaperDocDeleteCommentDetails paper_doc_delete_comment_details: Deleted + a Paper doc comment. + :ivar PaperDocDownloadDetails paper_doc_download_details: Downloaded a Paper + doc in a particular output format. + :ivar PaperDocEditDetails paper_doc_edit_details: Edited a Paper doc. + :ivar PaperDocEditCommentDetails paper_doc_edit_comment_details: Edited a + Paper doc comment. + :ivar PaperDocFollowedDetails paper_doc_followed_details: Followed a Paper + doc. + :ivar PaperDocMentionDetails paper_doc_mention_details: Mentioned a member + in a Paper doc. + :ivar PaperDocRequestAccessDetails paper_doc_request_access_details: + Requested to be a member on a Paper doc. + :ivar PaperDocResolveCommentDetails paper_doc_resolve_comment_details: Paper + doc comment resolved. + :ivar PaperDocRevertDetails paper_doc_revert_details: Restored a Paper doc + to previous revision. + :ivar PaperDocSlackShareDetails paper_doc_slack_share_details: Paper doc + link shared via slack. + :ivar PaperDocTeamInviteDetails paper_doc_team_invite_details: Paper doc + shared with team member. + :ivar PaperDocUnresolveCommentDetails paper_doc_unresolve_comment_details: + Unresolved a Paper doc comment. + :ivar PaperDocViewDetails paper_doc_view_details: Viewed Paper doc. + :ivar PaperFolderDeletedDetails paper_folder_deleted_details: Paper folder + archived. + :ivar PaperFolderFollowedDetails paper_folder_followed_details: Followed a + Paper folder. + :ivar PaperFolderTeamInviteDetails paper_folder_team_invite_details: Paper + folder shared with team member. + :ivar PasswordChangeDetails password_change_details: Changed password. + :ivar PasswordResetDetails password_reset_details: Reset password. + :ivar PasswordResetAllDetails password_reset_all_details: Reset all team + member passwords. + :ivar EmmCreateExceptionsReportDetails emm_create_exceptions_report_details: + EMM excluded users report created. + :ivar EmmCreateUsageReportDetails emm_create_usage_report_details: EMM + mobile app usage report created. + :ivar SmartSyncCreateAdminPrivilegeReportDetails + smart_sync_create_admin_privilege_report_details: Smart Sync non-admin + devices report created. + :ivar TeamActivityCreateReportDetails team_activity_create_report_details: + Created a team activity report. + :ivar CollectionShareDetails collection_share_details: Shared an album. + :ivar FileAddCommentDetails file_add_comment_details: Added a file comment. + :ivar FileLikeCommentDetails file_like_comment_details: Liked a file + comment. + :ivar FileUnlikeCommentDetails file_unlike_comment_details: Unliked a file + comment. + :ivar NoteAclInviteOnlyDetails note_acl_invite_only_details: Changed a Paper + document to be invite-only. + :ivar NoteAclLinkDetails note_acl_link_details: Changed a Paper document to + be link accessible. + :ivar NoteAclTeamLinkDetails note_acl_team_link_details: Changed a Paper + document to be link accessible for the team. + :ivar NoteSharedDetails note_shared_details: Shared a Paper doc. + :ivar NoteShareReceiveDetails note_share_receive_details: Shared Paper + document received. + :ivar OpenNoteSharedDetails open_note_shared_details: Opened a shared Paper + doc. + :ivar SfAddGroupDetails sf_add_group_details: Added the team to a shared + folder. + :ivar SfAllowNonMembersToViewSharedLinksDetails + sf_allow_non_members_to_view_shared_links_details: Allowed non + collaborators to view links to files in a shared folder. + :ivar SfInviteGroupDetails sf_invite_group_details: Invited a group to a + shared folder. + :ivar SfNestDetails sf_nest_details: Changed parent of shared folder. + :ivar SfTeamDeclineDetails sf_team_decline_details: Declined a team member's + invitation to a shared folder. + :ivar SfTeamGrantAccessDetails sf_team_grant_access_details: Granted access + to a shared folder. + :ivar SfTeamInviteDetails sf_team_invite_details: Invited team members to a + shared folder. + :ivar SfTeamInviteChangeRoleDetails sf_team_invite_change_role_details: + Changed a team member's role in a shared folder. + :ivar SfTeamJoinDetails sf_team_join_details: Joined a team member's shared + folder. + :ivar SfTeamJoinFromOobLinkDetails sf_team_join_from_oob_link_details: + Joined a team member's shared folder from a link. + :ivar SfTeamUninviteDetails sf_team_uninvite_details: Unshared a folder with + a team member. + :ivar SharedContentAddInviteesDetails shared_content_add_invitees_details: + Sent an email invitation to the membership of a shared file or folder. + :ivar SharedContentAddLinkExpiryDetails + shared_content_add_link_expiry_details: Added an expiry to the link for + the shared file or folder. + :ivar SharedContentAddLinkPasswordDetails + shared_content_add_link_password_details: Added a password to the link + for the shared file or folder. + :ivar SharedContentAddMemberDetails shared_content_add_member_details: Added + users and/or groups to the membership of a shared file or folder. + :ivar SharedContentChangeDownloadsPolicyDetails + shared_content_change_downloads_policy_details: Changed whether members + can download the shared file or folder. + :ivar SharedContentChangeInviteeRoleDetails + shared_content_change_invitee_role_details: Changed the access type of + an invitee to a shared file or folder before the invitation was claimed. + :ivar SharedContentChangeLinkAudienceDetails + shared_content_change_link_audience_details: Changed the audience of the + link for a shared file or folder. + :ivar SharedContentChangeLinkExpiryDetails + shared_content_change_link_expiry_details: Changed the expiry of the + link for the shared file or folder. + :ivar SharedContentChangeLinkPasswordDetails + shared_content_change_link_password_details: Changed the password on the + link for the shared file or folder. + :ivar SharedContentChangeMemberRoleDetails + shared_content_change_member_role_details: Changed the access type of a + shared file or folder member. + :ivar SharedContentChangeViewerInfoPolicyDetails + shared_content_change_viewer_info_policy_details: Changed whether + members can see who viewed the shared file or folder. + :ivar SharedContentClaimInvitationDetails + shared_content_claim_invitation_details: Claimed membership to a team + member's shared folder. + :ivar SharedContentCopyDetails shared_content_copy_details: Copied the + shared file or folder to own Dropbox. + :ivar SharedContentDownloadDetails shared_content_download_details: + Downloaded the shared file or folder. + :ivar SharedContentRelinquishMembershipDetails + shared_content_relinquish_membership_details: Left the membership of a + shared file or folder. + :ivar SharedContentRemoveInviteeDetails + shared_content_remove_invitee_details: Removed an invitee from the + membership of a shared file or folder before it was claimed. + :ivar SharedContentRemoveLinkExpiryDetails + shared_content_remove_link_expiry_details: Removed the expiry of the + link for the shared file or folder. + :ivar SharedContentRemoveLinkPasswordDetails + shared_content_remove_link_password_details: Removed the password on the + link for the shared file or folder. + :ivar SharedContentRemoveMemberDetails shared_content_remove_member_details: + Removed a user or a group from the membership of a shared file or + folder. + :ivar SharedContentRequestAccessDetails + shared_content_request_access_details: Requested to be on the membership + of a shared file or folder. + :ivar SharedContentUnshareDetails shared_content_unshare_details: Unshared a + shared file or folder by clearing its membership and turning off its + link. + :ivar SharedContentViewDetails shared_content_view_details: Previewed the + shared file or folder. + :ivar SharedFolderChangeConfidentialityDetails + shared_folder_change_confidentiality_details: Set or unset the + confidential flag on a shared folder. + :ivar SharedFolderChangeLinkPolicyDetails + shared_folder_change_link_policy_details: Changed who can access the + shared folder via a link. + :ivar SharedFolderChangeMemberManagementPolicyDetails + shared_folder_change_member_management_policy_details: Changed who can + manage the membership of a shared folder. + :ivar SharedFolderChangeMemberPolicyDetails + shared_folder_change_member_policy_details: Changed who can become a + member of the shared folder. + :ivar SharedFolderCreateDetails shared_folder_create_details: Created a + shared folder. + :ivar SharedFolderMountDetails shared_folder_mount_details: Added a shared + folder to own Dropbox. + :ivar SharedFolderTransferOwnershipDetails + shared_folder_transfer_ownership_details: Transferred the ownership of a + shared folder to another member. + :ivar SharedFolderUnmountDetails shared_folder_unmount_details: Deleted a + shared folder from Dropbox. + :ivar SharedNoteOpenedDetails shared_note_opened_details: Shared Paper + document was opened. + :ivar ShmodelAppCreateDetails shmodel_app_create_details: Created a link to + a file using an app. + :ivar ShmodelCreateDetails shmodel_create_details: Created a new link. + :ivar ShmodelDisableDetails shmodel_disable_details: Removed a link. + :ivar ShmodelFbShareDetails shmodel_fb_share_details: Shared a link with + Facebook users. + :ivar ShmodelGroupShareDetails shmodel_group_share_details: Shared a link + with a group. + :ivar ShmodelRemoveExpirationDetails shmodel_remove_expiration_details: + Removed the expiration date from a link. + :ivar ShmodelSetExpirationDetails shmodel_set_expiration_details: Added an + expiration date to a link. + :ivar ShmodelTeamCopyDetails shmodel_team_copy_details: Added a team + member's file/folder to their Dropbox from a link. + :ivar ShmodelTeamDownloadDetails shmodel_team_download_details: Downloaded a + team member's file/folder from a link. + :ivar ShmodelTeamShareDetails shmodel_team_share_details: Shared a link with + team members. + :ivar ShmodelTeamViewDetails shmodel_team_view_details: Opened a team + member's link. + :ivar ShmodelVisibilityPasswordDetails shmodel_visibility_password_details: + Password-protected a link. + :ivar ShmodelVisibilityPublicDetails shmodel_visibility_public_details: Made + a file/folder visible to anyone with the link. + :ivar ShmodelVisibilityTeamOnlyDetails shmodel_visibility_team_only_details: + Made a file/folder visible only to team members with the link. + :ivar RemoveLogoutUrlDetails remove_logout_url_details: Removed single + sign-on logout URL. + :ivar RemoveSsoUrlDetails remove_sso_url_details: Changed the sign-out URL + for SSO. + :ivar SsoChangeCertDetails sso_change_cert_details: Changed the X.509 + certificate for SSO. + :ivar SsoChangeLoginUrlDetails sso_change_login_url_details: Changed the + sign-in URL for SSO. + :ivar SsoChangeLogoutUrlDetails sso_change_logout_url_details: Changed the + sign-out URL for SSO. + :ivar SsoChangeSamlIdentityModeDetails + sso_change_saml_identity_mode_details: Changed the SAML identity mode + for SSO. + :ivar TeamFolderChangeStatusDetails team_folder_change_status_details: + Changed the archival status of a team folder. + :ivar TeamFolderCreateDetails team_folder_create_details: Created a new team + folder in active status. + :ivar TeamFolderDowngradeDetails team_folder_downgrade_details: Downgraded a + team folder to a regular shared folder. + :ivar TeamFolderPermanentlyDeleteDetails + team_folder_permanently_delete_details: Permanently deleted an archived + team folder. + :ivar TeamFolderRenameDetails team_folder_rename_details: Renamed an active + or archived team folder. + :ivar AccountCaptureChangePolicyDetails + account_capture_change_policy_details: Changed the account capture + policy on a domain belonging to the team. + :ivar AllowDownloadDisabledDetails allow_download_disabled_details: Disabled + allow downloads. + :ivar AllowDownloadEnabledDetails allow_download_enabled_details: Enabled + allow downloads. + :ivar DataPlacementRestrictionChangePolicyDetails + data_placement_restriction_change_policy_details: Set a restriction + policy regarding the location of data centers where team data resides. + :ivar DataPlacementRestrictionSatisfyPolicyDetails + data_placement_restriction_satisfy_policy_details: Satisfied a + previously set restriction policy regarding the location of data centers + where team data resides (i.e. all data have been migrated according to + the restriction placed). + :ivar DeviceApprovalsChangeDesktopPolicyDetails + device_approvals_change_desktop_policy_details: Set or removed a limit + on the number of computers each team member can link to their work + Dropbox account. + :ivar DeviceApprovalsChangeMobilePolicyDetails + device_approvals_change_mobile_policy_details: Set or removed a limit on + the number of mobiles devices each team member can link to their work + Dropbox account. + :ivar DeviceApprovalsChangeOverageActionDetails + device_approvals_change_overage_action_details: Changed the action taken + when a team member is already over the limits (e.g when they join the + team, an admin lowers limits, etc.). + :ivar DeviceApprovalsChangeUnlinkActionDetails + device_approvals_change_unlink_action_details: Changed the action taken + with respect to approval limits when a team member unlinks an approved + device. + :ivar EmmAddExceptionDetails emm_add_exception_details: Added an exception + for one or more team members to optionally use the regular Dropbox app + when EMM is enabled. + :ivar EmmChangePolicyDetails emm_change_policy_details: Enabled or disabled + enterprise mobility management for team members. + :ivar EmmRemoveExceptionDetails emm_remove_exception_details: Removed an + exception for one or more team members to optionally use the regular + Dropbox app when EMM is enabled. + :ivar ExtendedVersionHistoryChangePolicyDetails + extended_version_history_change_policy_details: Accepted or opted out of + extended version history. + :ivar FileCommentsChangePolicyDetails file_comments_change_policy_details: + Enabled or disabled commenting on team files. + :ivar FileRequestsChangePolicyDetails file_requests_change_policy_details: + Enabled or disabled file requests. + :ivar FileRequestsEmailsEnabledDetails file_requests_emails_enabled_details: + Enabled file request emails for everyone. + :ivar FileRequestsEmailsRestrictedToTeamOnlyDetails + file_requests_emails_restricted_to_team_only_details: Allowed file + request emails for the team. + :ivar GoogleSsoChangePolicyDetails google_sso_change_policy_details: Enabled + or disabled Google single sign-on for the team. + :ivar GroupUserManagementChangePolicyDetails + group_user_management_change_policy_details: Changed who can create + groups. + :ivar MemberRequestsChangePolicyDetails + member_requests_change_policy_details: Changed whether users can find + the team when not invited. + :ivar MemberSpaceLimitsAddExceptionDetails + member_space_limits_add_exception_details: Added an exception for one or + more team members to bypass space limits imposed by policy. + :ivar MemberSpaceLimitsChangePolicyDetails + member_space_limits_change_policy_details: Changed the storage limits + applied to team members by policy. + :ivar MemberSpaceLimitsRemoveExceptionDetails + member_space_limits_remove_exception_details: Removed an exception for + one or more team members to bypass space limits imposed by policy. + :ivar MemberSuggestionsChangePolicyDetails + member_suggestions_change_policy_details: Enabled or disabled the option + for team members to suggest new members to add to the team. + :ivar MicrosoftOfficeAddinChangePolicyDetails + microsoft_office_addin_change_policy_details: Enabled or disabled the + Microsoft Office add-in, which lets team members save files to Dropbox + directly from Microsoft Office. + :ivar NetworkControlChangePolicyDetails + network_control_change_policy_details: Enabled or disabled network + control. + :ivar PaperChangeDeploymentPolicyDetails + paper_change_deployment_policy_details: Changed whether Dropbox Paper, + when enabled, is deployed to all teams or to specific members of the + team. + :ivar PaperChangeMemberPolicyDetails paper_change_member_policy_details: + Changed whether team members can share Paper documents externally (i.e. + outside the team), and if so, whether they should be accessible only by + team members or anyone by default. + :ivar PaperChangePolicyDetails paper_change_policy_details: Enabled or + disabled Dropbox Paper for the team. + :ivar PermanentDeleteChangePolicyDetails + permanent_delete_change_policy_details: Enabled or disabled the ability + of team members to permanently delete content. + :ivar SharingChangeFolderJoinPolicyDetails + sharing_change_folder_join_policy_details: Changed whether team members + can join shared folders owned externally (i.e. outside the team). + :ivar SharingChangeLinkPolicyDetails sharing_change_link_policy_details: + Changed whether team members can share links externally (i.e. outside + the team), and if so, whether links should be accessible only by team + members or anyone by default. + :ivar SharingChangeMemberPolicyDetails sharing_change_member_policy_details: + Changed whether team members can share files and folders externally + (i.e. outside the team). + :ivar SmartSyncChangePolicyDetails smart_sync_change_policy_details: Changed + the default Smart Sync policy for team members. + :ivar SsoChangePolicyDetails sso_change_policy_details: Change the single + sign-on policy for the team. + :ivar TfaChangePolicyDetails tfa_change_policy_details: Change two-step + verification policy for the team. + :ivar TwoAccountChangePolicyDetails two_account_change_policy_details: + Enabled or disabled the option for team members to link a personal + Dropbox account in addition to their work account to the same computer. + :ivar WebSessionsChangeFixedLengthPolicyDetails + web_sessions_change_fixed_length_policy_details: Changed how long team + members can stay signed in to Dropbox on the web. + :ivar WebSessionsChangeIdleLengthPolicyDetails + web_sessions_change_idle_length_policy_details: Changed how long team + members can be idle while signed in to Dropbox on the web. + :ivar TeamProfileAddLogoDetails team_profile_add_logo_details: Added a team + logo to be displayed on shared link headers. + :ivar TeamProfileChangeLogoDetails team_profile_change_logo_details: Changed + the team logo to be displayed on shared link headers. + :ivar TeamProfileChangeNameDetails team_profile_change_name_details: Changed + the team name. + :ivar TeamProfileRemoveLogoDetails team_profile_remove_logo_details: Removed + the team logo to be displayed on shared link headers. + :ivar TfaAddBackupPhoneDetails tfa_add_backup_phone_details: Added a backup + phone for two-step verification. + :ivar TfaAddSecurityKeyDetails tfa_add_security_key_details: Added a + security key for two-step verification. + :ivar TfaChangeBackupPhoneDetails tfa_change_backup_phone_details: Changed + the backup phone for two-step verification. + :ivar TfaChangeStatusDetails tfa_change_status_details: Enabled, disabled or + changed the configuration for two-step verification. + :ivar TfaRemoveBackupPhoneDetails tfa_remove_backup_phone_details: Removed + the backup phone for two-step verification. + :ivar TfaRemoveSecurityKeyDetails tfa_remove_security_key_details: Removed a + security key for two-step verification. + :ivar TfaResetDetails tfa_reset_details: Reset two-step verification for + team member. + :ivar MissingDetails missing_details: Hints that this event was returned + with missing details due to an internal error. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def member_change_membership_type_details(cls, val): + """ + Create an instance of this class set to the + ``member_change_membership_type_details`` tag with value ``val``. + + :param MemberChangeMembershipTypeDetails val: + :rtype: EventDetails + """ + return cls('member_change_membership_type_details', val) + + @classmethod + def member_permanently_delete_account_contents_details(cls, val): + """ + Create an instance of this class set to the + ``member_permanently_delete_account_contents_details`` tag with value + ``val``. + + :param MemberPermanentlyDeleteAccountContentsDetails val: + :rtype: EventDetails + """ + return cls('member_permanently_delete_account_contents_details', val) + + @classmethod + def member_space_limits_change_status_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_status_details`` tag with value ``val``. + + :param MemberSpaceLimitsChangeStatusDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_change_status_details', val) + + @classmethod + def member_transfer_account_contents_details(cls, val): + """ + Create an instance of this class set to the + ``member_transfer_account_contents_details`` tag with value ``val``. + + :param MemberTransferAccountContentsDetails val: + :rtype: EventDetails + """ + return cls('member_transfer_account_contents_details', val) + + @classmethod + def paper_enabled_users_group_addition_details(cls, val): + """ + Create an instance of this class set to the + ``paper_enabled_users_group_addition_details`` tag with value ``val``. + + :param PaperEnabledUsersGroupAdditionDetails val: + :rtype: EventDetails + """ + return cls('paper_enabled_users_group_addition_details', val) + + @classmethod + def paper_enabled_users_group_removal_details(cls, val): + """ + Create an instance of this class set to the + ``paper_enabled_users_group_removal_details`` tag with value ``val``. + + :param PaperEnabledUsersGroupRemovalDetails val: + :rtype: EventDetails + """ + return cls('paper_enabled_users_group_removal_details', val) + + @classmethod + def paper_external_view_allow_details(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_allow_details`` tag with value ``val``. + + :param PaperExternalViewAllowDetails val: + :rtype: EventDetails + """ + return cls('paper_external_view_allow_details', val) + + @classmethod + def paper_external_view_default_team_details(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_default_team_details`` tag with value ``val``. + + :param PaperExternalViewDefaultTeamDetails val: + :rtype: EventDetails + """ + return cls('paper_external_view_default_team_details', val) + + @classmethod + def paper_external_view_forbid_details(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_forbid_details`` tag with value ``val``. + + :param PaperExternalViewForbidDetails val: + :rtype: EventDetails + """ + return cls('paper_external_view_forbid_details', val) + + @classmethod + def sf_external_invite_warn_details(cls, val): + """ + Create an instance of this class set to the + ``sf_external_invite_warn_details`` tag with value ``val``. + + :param SfExternalInviteWarnDetails val: + :rtype: EventDetails + """ + return cls('sf_external_invite_warn_details', val) + + @classmethod + def team_merge_details(cls, val): + """ + Create an instance of this class set to the ``team_merge_details`` tag + with value ``val``. + + :param TeamMergeDetails val: + :rtype: EventDetails + """ + return cls('team_merge_details', val) + + @classmethod + def app_link_team_details(cls, val): + """ + Create an instance of this class set to the ``app_link_team_details`` + tag with value ``val``. + + :param AppLinkTeamDetails val: + :rtype: EventDetails + """ + return cls('app_link_team_details', val) + + @classmethod + def app_link_user_details(cls, val): + """ + Create an instance of this class set to the ``app_link_user_details`` + tag with value ``val``. + + :param AppLinkUserDetails val: + :rtype: EventDetails + """ + return cls('app_link_user_details', val) + + @classmethod + def app_unlink_team_details(cls, val): + """ + Create an instance of this class set to the ``app_unlink_team_details`` + tag with value ``val``. + + :param AppUnlinkTeamDetails val: + :rtype: EventDetails + """ + return cls('app_unlink_team_details', val) + + @classmethod + def app_unlink_user_details(cls, val): + """ + Create an instance of this class set to the ``app_unlink_user_details`` + tag with value ``val``. + + :param AppUnlinkUserDetails val: + :rtype: EventDetails + """ + return cls('app_unlink_user_details', val) + + @classmethod + def device_change_ip_desktop_details(cls, val): + """ + Create an instance of this class set to the + ``device_change_ip_desktop_details`` tag with value ``val``. + + :param DeviceChangeIpDesktopDetails val: + :rtype: EventDetails + """ + return cls('device_change_ip_desktop_details', val) + + @classmethod + def device_change_ip_mobile_details(cls, val): + """ + Create an instance of this class set to the + ``device_change_ip_mobile_details`` tag with value ``val``. + + :param DeviceChangeIpMobileDetails val: + :rtype: EventDetails + """ + return cls('device_change_ip_mobile_details', val) + + @classmethod + def device_change_ip_web_details(cls, val): + """ + Create an instance of this class set to the + ``device_change_ip_web_details`` tag with value ``val``. + + :param DeviceChangeIpWebDetails val: + :rtype: EventDetails + """ + return cls('device_change_ip_web_details', val) + + @classmethod + def device_delete_on_unlink_fail_details(cls, val): + """ + Create an instance of this class set to the + ``device_delete_on_unlink_fail_details`` tag with value ``val``. + + :param DeviceDeleteOnUnlinkFailDetails val: + :rtype: EventDetails + """ + return cls('device_delete_on_unlink_fail_details', val) + + @classmethod + def device_delete_on_unlink_success_details(cls, val): + """ + Create an instance of this class set to the + ``device_delete_on_unlink_success_details`` tag with value ``val``. + + :param DeviceDeleteOnUnlinkSuccessDetails val: + :rtype: EventDetails + """ + return cls('device_delete_on_unlink_success_details', val) + + @classmethod + def device_link_fail_details(cls, val): + """ + Create an instance of this class set to the ``device_link_fail_details`` + tag with value ``val``. + + :param DeviceLinkFailDetails val: + :rtype: EventDetails + """ + return cls('device_link_fail_details', val) + + @classmethod + def device_link_success_details(cls, val): + """ + Create an instance of this class set to the + ``device_link_success_details`` tag with value ``val``. + + :param DeviceLinkSuccessDetails val: + :rtype: EventDetails + """ + return cls('device_link_success_details', val) + + @classmethod + def device_management_disabled_details(cls, val): + """ + Create an instance of this class set to the + ``device_management_disabled_details`` tag with value ``val``. + + :param DeviceManagementDisabledDetails val: + :rtype: EventDetails + """ + return cls('device_management_disabled_details', val) + + @classmethod + def device_management_enabled_details(cls, val): + """ + Create an instance of this class set to the + ``device_management_enabled_details`` tag with value ``val``. + + :param DeviceManagementEnabledDetails val: + :rtype: EventDetails + """ + return cls('device_management_enabled_details', val) + + @classmethod + def device_unlink_details(cls, val): + """ + Create an instance of this class set to the ``device_unlink_details`` + tag with value ``val``. + + :param DeviceUnlinkDetails val: + :rtype: EventDetails + """ + return cls('device_unlink_details', val) + + @classmethod + def emm_refresh_auth_token_details(cls, val): + """ + Create an instance of this class set to the + ``emm_refresh_auth_token_details`` tag with value ``val``. + + :param EmmRefreshAuthTokenDetails val: + :rtype: EventDetails + """ + return cls('emm_refresh_auth_token_details', val) + + @classmethod + def account_capture_change_availability_details(cls, val): + """ + Create an instance of this class set to the + ``account_capture_change_availability_details`` tag with value ``val``. + + :param AccountCaptureChangeAvailabilityDetails val: + :rtype: EventDetails + """ + return cls('account_capture_change_availability_details', val) + + @classmethod + def account_capture_migrate_account_details(cls, val): + """ + Create an instance of this class set to the + ``account_capture_migrate_account_details`` tag with value ``val``. + + :param AccountCaptureMigrateAccountDetails val: + :rtype: EventDetails + """ + return cls('account_capture_migrate_account_details', val) + + @classmethod + def account_capture_relinquish_account_details(cls, val): + """ + Create an instance of this class set to the + ``account_capture_relinquish_account_details`` tag with value ``val``. + + :param AccountCaptureRelinquishAccountDetails val: + :rtype: EventDetails + """ + return cls('account_capture_relinquish_account_details', val) + + @classmethod + def disabled_domain_invites_details(cls, val): + """ + Create an instance of this class set to the + ``disabled_domain_invites_details`` tag with value ``val``. + + :param DisabledDomainInvitesDetails val: + :rtype: EventDetails + """ + return cls('disabled_domain_invites_details', val) + + @classmethod + def domain_invites_approve_request_to_join_team_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_approve_request_to_join_team_details`` tag with value + ``val``. + + :param DomainInvitesApproveRequestToJoinTeamDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_approve_request_to_join_team_details', val) + + @classmethod + def domain_invites_decline_request_to_join_team_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_decline_request_to_join_team_details`` tag with value + ``val``. + + :param DomainInvitesDeclineRequestToJoinTeamDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_decline_request_to_join_team_details', val) + + @classmethod + def domain_invites_email_existing_users_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_email_existing_users_details`` tag with value ``val``. + + :param DomainInvitesEmailExistingUsersDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_email_existing_users_details', val) + + @classmethod + def domain_invites_request_to_join_team_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_request_to_join_team_details`` tag with value ``val``. + + :param DomainInvitesRequestToJoinTeamDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_request_to_join_team_details', val) + + @classmethod + def domain_invites_set_invite_new_user_pref_to_no_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_set_invite_new_user_pref_to_no_details`` tag with value + ``val``. + + :param DomainInvitesSetInviteNewUserPrefToNoDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_set_invite_new_user_pref_to_no_details', val) + + @classmethod + def domain_invites_set_invite_new_user_pref_to_yes_details(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_set_invite_new_user_pref_to_yes_details`` tag with + value ``val``. + + :param DomainInvitesSetInviteNewUserPrefToYesDetails val: + :rtype: EventDetails + """ + return cls('domain_invites_set_invite_new_user_pref_to_yes_details', val) + + @classmethod + def domain_verification_add_domain_fail_details(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_add_domain_fail_details`` tag with value ``val``. + + :param DomainVerificationAddDomainFailDetails val: + :rtype: EventDetails + """ + return cls('domain_verification_add_domain_fail_details', val) + + @classmethod + def domain_verification_add_domain_success_details(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_add_domain_success_details`` tag with value + ``val``. + + :param DomainVerificationAddDomainSuccessDetails val: + :rtype: EventDetails + """ + return cls('domain_verification_add_domain_success_details', val) + + @classmethod + def domain_verification_remove_domain_details(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_remove_domain_details`` tag with value ``val``. + + :param DomainVerificationRemoveDomainDetails val: + :rtype: EventDetails + """ + return cls('domain_verification_remove_domain_details', val) + + @classmethod + def enabled_domain_invites_details(cls, val): + """ + Create an instance of this class set to the + ``enabled_domain_invites_details`` tag with value ``val``. + + :param EnabledDomainInvitesDetails val: + :rtype: EventDetails + """ + return cls('enabled_domain_invites_details', val) + + @classmethod + def create_folder_details(cls, val): + """ + Create an instance of this class set to the ``create_folder_details`` + tag with value ``val``. + + :param CreateFolderDetails val: + :rtype: EventDetails + """ + return cls('create_folder_details', val) + + @classmethod + def file_add_details(cls, val): + """ + Create an instance of this class set to the ``file_add_details`` tag + with value ``val``. + + :param FileAddDetails val: + :rtype: EventDetails + """ + return cls('file_add_details', val) + + @classmethod + def file_copy_details(cls, val): + """ + Create an instance of this class set to the ``file_copy_details`` tag + with value ``val``. + + :param FileCopyDetails val: + :rtype: EventDetails + """ + return cls('file_copy_details', val) + + @classmethod + def file_delete_details(cls, val): + """ + Create an instance of this class set to the ``file_delete_details`` tag + with value ``val``. + + :param FileDeleteDetails val: + :rtype: EventDetails + """ + return cls('file_delete_details', val) + + @classmethod + def file_download_details(cls, val): + """ + Create an instance of this class set to the ``file_download_details`` + tag with value ``val``. + + :param FileDownloadDetails val: + :rtype: EventDetails + """ + return cls('file_download_details', val) + + @classmethod + def file_edit_details(cls, val): + """ + Create an instance of this class set to the ``file_edit_details`` tag + with value ``val``. + + :param FileEditDetails val: + :rtype: EventDetails + """ + return cls('file_edit_details', val) + + @classmethod + def file_get_copy_reference_details(cls, val): + """ + Create an instance of this class set to the + ``file_get_copy_reference_details`` tag with value ``val``. + + :param FileGetCopyReferenceDetails val: + :rtype: EventDetails + """ + return cls('file_get_copy_reference_details', val) + + @classmethod + def file_move_details(cls, val): + """ + Create an instance of this class set to the ``file_move_details`` tag + with value ``val``. + + :param FileMoveDetails val: + :rtype: EventDetails + """ + return cls('file_move_details', val) + + @classmethod + def file_permanently_delete_details(cls, val): + """ + Create an instance of this class set to the + ``file_permanently_delete_details`` tag with value ``val``. + + :param FilePermanentlyDeleteDetails val: + :rtype: EventDetails + """ + return cls('file_permanently_delete_details', val) + + @classmethod + def file_preview_details(cls, val): + """ + Create an instance of this class set to the ``file_preview_details`` tag + with value ``val``. + + :param FilePreviewDetails val: + :rtype: EventDetails + """ + return cls('file_preview_details', val) + + @classmethod + def file_rename_details(cls, val): + """ + Create an instance of this class set to the ``file_rename_details`` tag + with value ``val``. + + :param FileRenameDetails val: + :rtype: EventDetails + """ + return cls('file_rename_details', val) + + @classmethod + def file_restore_details(cls, val): + """ + Create an instance of this class set to the ``file_restore_details`` tag + with value ``val``. + + :param FileRestoreDetails val: + :rtype: EventDetails + """ + return cls('file_restore_details', val) + + @classmethod + def file_revert_details(cls, val): + """ + Create an instance of this class set to the ``file_revert_details`` tag + with value ``val``. + + :param FileRevertDetails val: + :rtype: EventDetails + """ + return cls('file_revert_details', val) + + @classmethod + def file_rollback_changes_details(cls, val): + """ + Create an instance of this class set to the + ``file_rollback_changes_details`` tag with value ``val``. + + :param FileRollbackChangesDetails val: + :rtype: EventDetails + """ + return cls('file_rollback_changes_details', val) + + @classmethod + def file_save_copy_reference_details(cls, val): + """ + Create an instance of this class set to the + ``file_save_copy_reference_details`` tag with value ``val``. + + :param FileSaveCopyReferenceDetails val: + :rtype: EventDetails + """ + return cls('file_save_copy_reference_details', val) + + @classmethod + def file_request_add_deadline_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_add_deadline_details`` tag with value ``val``. + + :param FileRequestAddDeadlineDetails val: + :rtype: EventDetails + """ + return cls('file_request_add_deadline_details', val) + + @classmethod + def file_request_change_folder_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_change_folder_details`` tag with value ``val``. + + :param FileRequestChangeFolderDetails val: + :rtype: EventDetails + """ + return cls('file_request_change_folder_details', val) + + @classmethod + def file_request_change_title_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_change_title_details`` tag with value ``val``. + + :param FileRequestChangeTitleDetails val: + :rtype: EventDetails + """ + return cls('file_request_change_title_details', val) + + @classmethod + def file_request_close_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_close_details`` tag with value ``val``. + + :param FileRequestCloseDetails val: + :rtype: EventDetails + """ + return cls('file_request_close_details', val) + + @classmethod + def file_request_create_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_create_details`` tag with value ``val``. + + :param FileRequestCreateDetails val: + :rtype: EventDetails + """ + return cls('file_request_create_details', val) + + @classmethod + def file_request_receive_file_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_receive_file_details`` tag with value ``val``. + + :param FileRequestReceiveFileDetails val: + :rtype: EventDetails + """ + return cls('file_request_receive_file_details', val) + + @classmethod + def file_request_remove_deadline_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_remove_deadline_details`` tag with value ``val``. + + :param FileRequestRemoveDeadlineDetails val: + :rtype: EventDetails + """ + return cls('file_request_remove_deadline_details', val) + + @classmethod + def file_request_send_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_send_details`` tag with value ``val``. + + :param FileRequestSendDetails val: + :rtype: EventDetails + """ + return cls('file_request_send_details', val) + + @classmethod + def group_add_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``group_add_external_id_details`` tag with value ``val``. + + :param GroupAddExternalIdDetails val: + :rtype: EventDetails + """ + return cls('group_add_external_id_details', val) + + @classmethod + def group_add_member_details(cls, val): + """ + Create an instance of this class set to the ``group_add_member_details`` + tag with value ``val``. + + :param GroupAddMemberDetails val: + :rtype: EventDetails + """ + return cls('group_add_member_details', val) + + @classmethod + def group_change_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``group_change_external_id_details`` tag with value ``val``. + + :param GroupChangeExternalIdDetails val: + :rtype: EventDetails + """ + return cls('group_change_external_id_details', val) + + @classmethod + def group_change_management_type_details(cls, val): + """ + Create an instance of this class set to the + ``group_change_management_type_details`` tag with value ``val``. + + :param GroupChangeManagementTypeDetails val: + :rtype: EventDetails + """ + return cls('group_change_management_type_details', val) + + @classmethod + def group_change_member_role_details(cls, val): + """ + Create an instance of this class set to the + ``group_change_member_role_details`` tag with value ``val``. + + :param GroupChangeMemberRoleDetails val: + :rtype: EventDetails + """ + return cls('group_change_member_role_details', val) + + @classmethod + def group_create_details(cls, val): + """ + Create an instance of this class set to the ``group_create_details`` tag + with value ``val``. + + :param GroupCreateDetails val: + :rtype: EventDetails + """ + return cls('group_create_details', val) + + @classmethod + def group_delete_details(cls, val): + """ + Create an instance of this class set to the ``group_delete_details`` tag + with value ``val``. + + :param GroupDeleteDetails val: + :rtype: EventDetails + """ + return cls('group_delete_details', val) + + @classmethod + def group_description_updated_details(cls, val): + """ + Create an instance of this class set to the + ``group_description_updated_details`` tag with value ``val``. + + :param GroupDescriptionUpdatedDetails val: + :rtype: EventDetails + """ + return cls('group_description_updated_details', val) + + @classmethod + def group_join_policy_updated_details(cls, val): + """ + Create an instance of this class set to the + ``group_join_policy_updated_details`` tag with value ``val``. + + :param GroupJoinPolicyUpdatedDetails val: + :rtype: EventDetails + """ + return cls('group_join_policy_updated_details', val) + + @classmethod + def group_moved_details(cls, val): + """ + Create an instance of this class set to the ``group_moved_details`` tag + with value ``val``. + + :param GroupMovedDetails val: + :rtype: EventDetails + """ + return cls('group_moved_details', val) + + @classmethod + def group_remove_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``group_remove_external_id_details`` tag with value ``val``. + + :param GroupRemoveExternalIdDetails val: + :rtype: EventDetails + """ + return cls('group_remove_external_id_details', val) + + @classmethod + def group_remove_member_details(cls, val): + """ + Create an instance of this class set to the + ``group_remove_member_details`` tag with value ``val``. + + :param GroupRemoveMemberDetails val: + :rtype: EventDetails + """ + return cls('group_remove_member_details', val) + + @classmethod + def group_rename_details(cls, val): + """ + Create an instance of this class set to the ``group_rename_details`` tag + with value ``val``. + + :param GroupRenameDetails val: + :rtype: EventDetails + """ + return cls('group_rename_details', val) + + @classmethod + def emm_login_success_details(cls, val): + """ + Create an instance of this class set to the + ``emm_login_success_details`` tag with value ``val``. + + :param EmmLoginSuccessDetails val: + :rtype: EventDetails + """ + return cls('emm_login_success_details', val) + + @classmethod + def logout_details(cls, val): + """ + Create an instance of this class set to the ``logout_details`` tag with + value ``val``. + + :param LogoutDetails val: + :rtype: EventDetails + """ + return cls('logout_details', val) + + @classmethod + def password_login_fail_details(cls, val): + """ + Create an instance of this class set to the + ``password_login_fail_details`` tag with value ``val``. + + :param PasswordLoginFailDetails val: + :rtype: EventDetails + """ + return cls('password_login_fail_details', val) + + @classmethod + def password_login_success_details(cls, val): + """ + Create an instance of this class set to the + ``password_login_success_details`` tag with value ``val``. + + :param PasswordLoginSuccessDetails val: + :rtype: EventDetails + """ + return cls('password_login_success_details', val) + + @classmethod + def reseller_support_session_end_details(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_session_end_details`` tag with value ``val``. + + :param ResellerSupportSessionEndDetails val: + :rtype: EventDetails + """ + return cls('reseller_support_session_end_details', val) + + @classmethod + def reseller_support_session_start_details(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_session_start_details`` tag with value ``val``. + + :param ResellerSupportSessionStartDetails val: + :rtype: EventDetails + """ + return cls('reseller_support_session_start_details', val) + + @classmethod + def sign_in_as_session_end_details(cls, val): + """ + Create an instance of this class set to the + ``sign_in_as_session_end_details`` tag with value ``val``. + + :param SignInAsSessionEndDetails val: + :rtype: EventDetails + """ + return cls('sign_in_as_session_end_details', val) + + @classmethod + def sign_in_as_session_start_details(cls, val): + """ + Create an instance of this class set to the + ``sign_in_as_session_start_details`` tag with value ``val``. + + :param SignInAsSessionStartDetails val: + :rtype: EventDetails + """ + return cls('sign_in_as_session_start_details', val) + + @classmethod + def sso_login_fail_details(cls, val): + """ + Create an instance of this class set to the ``sso_login_fail_details`` + tag with value ``val``. + + :param SsoLoginFailDetails val: + :rtype: EventDetails + """ + return cls('sso_login_fail_details', val) + + @classmethod + def member_add_name_details(cls, val): + """ + Create an instance of this class set to the ``member_add_name_details`` + tag with value ``val``. + + :param MemberAddNameDetails val: + :rtype: EventDetails + """ + return cls('member_add_name_details', val) + + @classmethod + def member_change_email_details(cls, val): + """ + Create an instance of this class set to the + ``member_change_email_details`` tag with value ``val``. + + :param MemberChangeEmailDetails val: + :rtype: EventDetails + """ + return cls('member_change_email_details', val) + + @classmethod + def member_change_name_details(cls, val): + """ + Create an instance of this class set to the + ``member_change_name_details`` tag with value ``val``. + + :param MemberChangeNameDetails val: + :rtype: EventDetails + """ + return cls('member_change_name_details', val) + + @classmethod + def member_change_role_details(cls, val): + """ + Create an instance of this class set to the + ``member_change_role_details`` tag with value ``val``. + + :param MemberChangeRoleDetails val: + :rtype: EventDetails + """ + return cls('member_change_role_details', val) + + @classmethod + def member_invite_details(cls, val): + """ + Create an instance of this class set to the ``member_invite_details`` + tag with value ``val``. + + :param MemberInviteDetails val: + :rtype: EventDetails + """ + return cls('member_invite_details', val) + + @classmethod + def member_join_details(cls, val): + """ + Create an instance of this class set to the ``member_join_details`` tag + with value ``val``. + + :param MemberJoinDetails val: + :rtype: EventDetails + """ + return cls('member_join_details', val) + + @classmethod + def member_leave_details(cls, val): + """ + Create an instance of this class set to the ``member_leave_details`` tag + with value ``val``. + + :param MemberLeaveDetails val: + :rtype: EventDetails + """ + return cls('member_leave_details', val) + + @classmethod + def member_recover_details(cls, val): + """ + Create an instance of this class set to the ``member_recover_details`` + tag with value ``val``. + + :param MemberRecoverDetails val: + :rtype: EventDetails + """ + return cls('member_recover_details', val) + + @classmethod + def member_suggest_details(cls, val): + """ + Create an instance of this class set to the ``member_suggest_details`` + tag with value ``val``. + + :param MemberSuggestDetails val: + :rtype: EventDetails + """ + return cls('member_suggest_details', val) + + @classmethod + def member_suspend_details(cls, val): + """ + Create an instance of this class set to the ``member_suspend_details`` + tag with value ``val``. + + :param MemberSuspendDetails val: + :rtype: EventDetails + """ + return cls('member_suspend_details', val) + + @classmethod + def member_unsuspend_details(cls, val): + """ + Create an instance of this class set to the ``member_unsuspend_details`` + tag with value ``val``. + + :param MemberUnsuspendDetails val: + :rtype: EventDetails + """ + return cls('member_unsuspend_details', val) + + @classmethod + def paper_content_add_member_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_add_member_details`` tag with value ``val``. + + :param PaperContentAddMemberDetails val: + :rtype: EventDetails + """ + return cls('paper_content_add_member_details', val) + + @classmethod + def paper_content_add_to_folder_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_add_to_folder_details`` tag with value ``val``. + + :param PaperContentAddToFolderDetails val: + :rtype: EventDetails + """ + return cls('paper_content_add_to_folder_details', val) + + @classmethod + def paper_content_archive_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_archive_details`` tag with value ``val``. + + :param PaperContentArchiveDetails val: + :rtype: EventDetails + """ + return cls('paper_content_archive_details', val) + + @classmethod + def paper_content_change_subscription_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_change_subscription_details`` tag with value ``val``. + + :param PaperContentChangeSubscriptionDetails val: + :rtype: EventDetails + """ + return cls('paper_content_change_subscription_details', val) + + @classmethod + def paper_content_create_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_create_details`` tag with value ``val``. + + :param PaperContentCreateDetails val: + :rtype: EventDetails + """ + return cls('paper_content_create_details', val) + + @classmethod + def paper_content_permanently_delete_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_permanently_delete_details`` tag with value ``val``. + + :param PaperContentPermanentlyDeleteDetails val: + :rtype: EventDetails + """ + return cls('paper_content_permanently_delete_details', val) + + @classmethod + def paper_content_remove_from_folder_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_remove_from_folder_details`` tag with value ``val``. + + :param PaperContentRemoveFromFolderDetails val: + :rtype: EventDetails + """ + return cls('paper_content_remove_from_folder_details', val) + + @classmethod + def paper_content_remove_member_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_remove_member_details`` tag with value ``val``. + + :param PaperContentRemoveMemberDetails val: + :rtype: EventDetails + """ + return cls('paper_content_remove_member_details', val) + + @classmethod + def paper_content_rename_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_rename_details`` tag with value ``val``. + + :param PaperContentRenameDetails val: + :rtype: EventDetails + """ + return cls('paper_content_rename_details', val) + + @classmethod + def paper_content_restore_details(cls, val): + """ + Create an instance of this class set to the + ``paper_content_restore_details`` tag with value ``val``. + + :param PaperContentRestoreDetails val: + :rtype: EventDetails + """ + return cls('paper_content_restore_details', val) + + @classmethod + def paper_doc_add_comment_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_add_comment_details`` tag with value ``val``. + + :param PaperDocAddCommentDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_add_comment_details', val) + + @classmethod + def paper_doc_change_member_role_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_change_member_role_details`` tag with value ``val``. + + :param PaperDocChangeMemberRoleDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_change_member_role_details', val) + + @classmethod + def paper_doc_change_sharing_policy_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_change_sharing_policy_details`` tag with value ``val``. + + :param PaperDocChangeSharingPolicyDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_change_sharing_policy_details', val) + + @classmethod + def paper_doc_deleted_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_deleted_details`` tag with value ``val``. + + :param PaperDocDeletedDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_deleted_details', val) + + @classmethod + def paper_doc_delete_comment_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_delete_comment_details`` tag with value ``val``. + + :param PaperDocDeleteCommentDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_delete_comment_details', val) + + @classmethod + def paper_doc_download_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_download_details`` tag with value ``val``. + + :param PaperDocDownloadDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_download_details', val) + + @classmethod + def paper_doc_edit_details(cls, val): + """ + Create an instance of this class set to the ``paper_doc_edit_details`` + tag with value ``val``. + + :param PaperDocEditDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_edit_details', val) + + @classmethod + def paper_doc_edit_comment_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_edit_comment_details`` tag with value ``val``. + + :param PaperDocEditCommentDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_edit_comment_details', val) + + @classmethod + def paper_doc_followed_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_followed_details`` tag with value ``val``. + + :param PaperDocFollowedDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_followed_details', val) + + @classmethod + def paper_doc_mention_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_mention_details`` tag with value ``val``. + + :param PaperDocMentionDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_mention_details', val) + + @classmethod + def paper_doc_request_access_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_request_access_details`` tag with value ``val``. + + :param PaperDocRequestAccessDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_request_access_details', val) + + @classmethod + def paper_doc_resolve_comment_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_resolve_comment_details`` tag with value ``val``. + + :param PaperDocResolveCommentDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_resolve_comment_details', val) + + @classmethod + def paper_doc_revert_details(cls, val): + """ + Create an instance of this class set to the ``paper_doc_revert_details`` + tag with value ``val``. + + :param PaperDocRevertDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_revert_details', val) + + @classmethod + def paper_doc_slack_share_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_slack_share_details`` tag with value ``val``. + + :param PaperDocSlackShareDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_slack_share_details', val) + + @classmethod + def paper_doc_team_invite_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_team_invite_details`` tag with value ``val``. + + :param PaperDocTeamInviteDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_team_invite_details', val) + + @classmethod + def paper_doc_unresolve_comment_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_unresolve_comment_details`` tag with value ``val``. + + :param PaperDocUnresolveCommentDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_unresolve_comment_details', val) + + @classmethod + def paper_doc_view_details(cls, val): + """ + Create an instance of this class set to the ``paper_doc_view_details`` + tag with value ``val``. + + :param PaperDocViewDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_view_details', val) + + @classmethod + def paper_folder_deleted_details(cls, val): + """ + Create an instance of this class set to the + ``paper_folder_deleted_details`` tag with value ``val``. + + :param PaperFolderDeletedDetails val: + :rtype: EventDetails + """ + return cls('paper_folder_deleted_details', val) + + @classmethod + def paper_folder_followed_details(cls, val): + """ + Create an instance of this class set to the + ``paper_folder_followed_details`` tag with value ``val``. + + :param PaperFolderFollowedDetails val: + :rtype: EventDetails + """ + return cls('paper_folder_followed_details', val) + + @classmethod + def paper_folder_team_invite_details(cls, val): + """ + Create an instance of this class set to the + ``paper_folder_team_invite_details`` tag with value ``val``. + + :param PaperFolderTeamInviteDetails val: + :rtype: EventDetails + """ + return cls('paper_folder_team_invite_details', val) + + @classmethod + def password_change_details(cls, val): + """ + Create an instance of this class set to the ``password_change_details`` + tag with value ``val``. + + :param PasswordChangeDetails val: + :rtype: EventDetails + """ + return cls('password_change_details', val) + + @classmethod + def password_reset_details(cls, val): + """ + Create an instance of this class set to the ``password_reset_details`` + tag with value ``val``. + + :param PasswordResetDetails val: + :rtype: EventDetails + """ + return cls('password_reset_details', val) + + @classmethod + def password_reset_all_details(cls, val): + """ + Create an instance of this class set to the + ``password_reset_all_details`` tag with value ``val``. + + :param PasswordResetAllDetails val: + :rtype: EventDetails + """ + return cls('password_reset_all_details', val) + + @classmethod + def emm_create_exceptions_report_details(cls, val): + """ + Create an instance of this class set to the + ``emm_create_exceptions_report_details`` tag with value ``val``. + + :param EmmCreateExceptionsReportDetails val: + :rtype: EventDetails + """ + return cls('emm_create_exceptions_report_details', val) + + @classmethod + def emm_create_usage_report_details(cls, val): + """ + Create an instance of this class set to the + ``emm_create_usage_report_details`` tag with value ``val``. + + :param EmmCreateUsageReportDetails val: + :rtype: EventDetails + """ + return cls('emm_create_usage_report_details', val) + + @classmethod + def smart_sync_create_admin_privilege_report_details(cls, val): + """ + Create an instance of this class set to the + ``smart_sync_create_admin_privilege_report_details`` tag with value + ``val``. + + :param SmartSyncCreateAdminPrivilegeReportDetails val: + :rtype: EventDetails + """ + return cls('smart_sync_create_admin_privilege_report_details', val) + + @classmethod + def team_activity_create_report_details(cls, val): + """ + Create an instance of this class set to the + ``team_activity_create_report_details`` tag with value ``val``. + + :param TeamActivityCreateReportDetails val: + :rtype: EventDetails + """ + return cls('team_activity_create_report_details', val) + + @classmethod + def collection_share_details(cls, val): + """ + Create an instance of this class set to the ``collection_share_details`` + tag with value ``val``. + + :param CollectionShareDetails val: + :rtype: EventDetails + """ + return cls('collection_share_details', val) + + @classmethod + def file_add_comment_details(cls, val): + """ + Create an instance of this class set to the ``file_add_comment_details`` + tag with value ``val``. + + :param FileAddCommentDetails val: + :rtype: EventDetails + """ + return cls('file_add_comment_details', val) + + @classmethod + def file_like_comment_details(cls, val): + """ + Create an instance of this class set to the + ``file_like_comment_details`` tag with value ``val``. + + :param FileLikeCommentDetails val: + :rtype: EventDetails + """ + return cls('file_like_comment_details', val) + + @classmethod + def file_unlike_comment_details(cls, val): + """ + Create an instance of this class set to the + ``file_unlike_comment_details`` tag with value ``val``. + + :param FileUnlikeCommentDetails val: + :rtype: EventDetails + """ + return cls('file_unlike_comment_details', val) + + @classmethod + def note_acl_invite_only_details(cls, val): + """ + Create an instance of this class set to the + ``note_acl_invite_only_details`` tag with value ``val``. + + :param NoteAclInviteOnlyDetails val: + :rtype: EventDetails + """ + return cls('note_acl_invite_only_details', val) + + @classmethod + def note_acl_link_details(cls, val): + """ + Create an instance of this class set to the ``note_acl_link_details`` + tag with value ``val``. + + :param NoteAclLinkDetails val: + :rtype: EventDetails + """ + return cls('note_acl_link_details', val) + + @classmethod + def note_acl_team_link_details(cls, val): + """ + Create an instance of this class set to the + ``note_acl_team_link_details`` tag with value ``val``. + + :param NoteAclTeamLinkDetails val: + :rtype: EventDetails + """ + return cls('note_acl_team_link_details', val) + + @classmethod + def note_shared_details(cls, val): + """ + Create an instance of this class set to the ``note_shared_details`` tag + with value ``val``. + + :param NoteSharedDetails val: + :rtype: EventDetails + """ + return cls('note_shared_details', val) + + @classmethod + def note_share_receive_details(cls, val): + """ + Create an instance of this class set to the + ``note_share_receive_details`` tag with value ``val``. + + :param NoteShareReceiveDetails val: + :rtype: EventDetails + """ + return cls('note_share_receive_details', val) + + @classmethod + def open_note_shared_details(cls, val): + """ + Create an instance of this class set to the ``open_note_shared_details`` + tag with value ``val``. + + :param OpenNoteSharedDetails val: + :rtype: EventDetails + """ + return cls('open_note_shared_details', val) + + @classmethod + def sf_add_group_details(cls, val): + """ + Create an instance of this class set to the ``sf_add_group_details`` tag + with value ``val``. + + :param SfAddGroupDetails val: + :rtype: EventDetails + """ + return cls('sf_add_group_details', val) + + @classmethod + def sf_allow_non_members_to_view_shared_links_details(cls, val): + """ + Create an instance of this class set to the + ``sf_allow_non_members_to_view_shared_links_details`` tag with value + ``val``. + + :param SfAllowNonMembersToViewSharedLinksDetails val: + :rtype: EventDetails + """ + return cls('sf_allow_non_members_to_view_shared_links_details', val) + + @classmethod + def sf_invite_group_details(cls, val): + """ + Create an instance of this class set to the ``sf_invite_group_details`` + tag with value ``val``. + + :param SfInviteGroupDetails val: + :rtype: EventDetails + """ + return cls('sf_invite_group_details', val) + + @classmethod + def sf_nest_details(cls, val): + """ + Create an instance of this class set to the ``sf_nest_details`` tag with + value ``val``. + + :param SfNestDetails val: + :rtype: EventDetails + """ + return cls('sf_nest_details', val) + + @classmethod + def sf_team_decline_details(cls, val): + """ + Create an instance of this class set to the ``sf_team_decline_details`` + tag with value ``val``. + + :param SfTeamDeclineDetails val: + :rtype: EventDetails + """ + return cls('sf_team_decline_details', val) + + @classmethod + def sf_team_grant_access_details(cls, val): + """ + Create an instance of this class set to the + ``sf_team_grant_access_details`` tag with value ``val``. + + :param SfTeamGrantAccessDetails val: + :rtype: EventDetails + """ + return cls('sf_team_grant_access_details', val) + + @classmethod + def sf_team_invite_details(cls, val): + """ + Create an instance of this class set to the ``sf_team_invite_details`` + tag with value ``val``. + + :param SfTeamInviteDetails val: + :rtype: EventDetails + """ + return cls('sf_team_invite_details', val) + + @classmethod + def sf_team_invite_change_role_details(cls, val): + """ + Create an instance of this class set to the + ``sf_team_invite_change_role_details`` tag with value ``val``. + + :param SfTeamInviteChangeRoleDetails val: + :rtype: EventDetails + """ + return cls('sf_team_invite_change_role_details', val) + + @classmethod + def sf_team_join_details(cls, val): + """ + Create an instance of this class set to the ``sf_team_join_details`` tag + with value ``val``. + + :param SfTeamJoinDetails val: + :rtype: EventDetails + """ + return cls('sf_team_join_details', val) + + @classmethod + def sf_team_join_from_oob_link_details(cls, val): + """ + Create an instance of this class set to the + ``sf_team_join_from_oob_link_details`` tag with value ``val``. + + :param SfTeamJoinFromOobLinkDetails val: + :rtype: EventDetails + """ + return cls('sf_team_join_from_oob_link_details', val) + + @classmethod + def sf_team_uninvite_details(cls, val): + """ + Create an instance of this class set to the ``sf_team_uninvite_details`` + tag with value ``val``. + + :param SfTeamUninviteDetails val: + :rtype: EventDetails + """ + return cls('sf_team_uninvite_details', val) + + @classmethod + def shared_content_add_invitees_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_invitees_details`` tag with value ``val``. + + :param SharedContentAddInviteesDetails val: + :rtype: EventDetails + """ + return cls('shared_content_add_invitees_details', val) + + @classmethod + def shared_content_add_link_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_link_expiry_details`` tag with value ``val``. + + :param SharedContentAddLinkExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_content_add_link_expiry_details', val) + + @classmethod + def shared_content_add_link_password_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_link_password_details`` tag with value ``val``. + + :param SharedContentAddLinkPasswordDetails val: + :rtype: EventDetails + """ + return cls('shared_content_add_link_password_details', val) + + @classmethod + def shared_content_add_member_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_member_details`` tag with value ``val``. + + :param SharedContentAddMemberDetails val: + :rtype: EventDetails + """ + return cls('shared_content_add_member_details', val) + + @classmethod + def shared_content_change_downloads_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_downloads_policy_details`` tag with value + ``val``. + + :param SharedContentChangeDownloadsPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_downloads_policy_details', val) + + @classmethod + def shared_content_change_invitee_role_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_invitee_role_details`` tag with value ``val``. + + :param SharedContentChangeInviteeRoleDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_invitee_role_details', val) + + @classmethod + def shared_content_change_link_audience_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_audience_details`` tag with value ``val``. + + :param SharedContentChangeLinkAudienceDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_link_audience_details', val) + + @classmethod + def shared_content_change_link_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_expiry_details`` tag with value ``val``. + + :param SharedContentChangeLinkExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_link_expiry_details', val) + + @classmethod + def shared_content_change_link_password_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_password_details`` tag with value ``val``. + + :param SharedContentChangeLinkPasswordDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_link_password_details', val) + + @classmethod + def shared_content_change_member_role_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_member_role_details`` tag with value ``val``. + + :param SharedContentChangeMemberRoleDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_member_role_details', val) + + @classmethod + def shared_content_change_viewer_info_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_viewer_info_policy_details`` tag with value + ``val``. + + :param SharedContentChangeViewerInfoPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_content_change_viewer_info_policy_details', val) + + @classmethod + def shared_content_claim_invitation_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_claim_invitation_details`` tag with value ``val``. + + :param SharedContentClaimInvitationDetails val: + :rtype: EventDetails + """ + return cls('shared_content_claim_invitation_details', val) + + @classmethod + def shared_content_copy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_copy_details`` tag with value ``val``. + + :param SharedContentCopyDetails val: + :rtype: EventDetails + """ + return cls('shared_content_copy_details', val) + + @classmethod + def shared_content_download_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_download_details`` tag with value ``val``. + + :param SharedContentDownloadDetails val: + :rtype: EventDetails + """ + return cls('shared_content_download_details', val) + + @classmethod + def shared_content_relinquish_membership_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_relinquish_membership_details`` tag with value ``val``. + + :param SharedContentRelinquishMembershipDetails val: + :rtype: EventDetails + """ + return cls('shared_content_relinquish_membership_details', val) + + @classmethod + def shared_content_remove_invitee_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_invitee_details`` tag with value ``val``. + + :param SharedContentRemoveInviteeDetails val: + :rtype: EventDetails + """ + return cls('shared_content_remove_invitee_details', val) + + @classmethod + def shared_content_remove_link_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_link_expiry_details`` tag with value ``val``. + + :param SharedContentRemoveLinkExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_content_remove_link_expiry_details', val) + + @classmethod + def shared_content_remove_link_password_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_link_password_details`` tag with value ``val``. + + :param SharedContentRemoveLinkPasswordDetails val: + :rtype: EventDetails + """ + return cls('shared_content_remove_link_password_details', val) + + @classmethod + def shared_content_remove_member_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_member_details`` tag with value ``val``. + + :param SharedContentRemoveMemberDetails val: + :rtype: EventDetails + """ + return cls('shared_content_remove_member_details', val) + + @classmethod + def shared_content_request_access_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_request_access_details`` tag with value ``val``. + + :param SharedContentRequestAccessDetails val: + :rtype: EventDetails + """ + return cls('shared_content_request_access_details', val) + + @classmethod + def shared_content_unshare_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_unshare_details`` tag with value ``val``. + + :param SharedContentUnshareDetails val: + :rtype: EventDetails + """ + return cls('shared_content_unshare_details', val) + + @classmethod + def shared_content_view_details(cls, val): + """ + Create an instance of this class set to the + ``shared_content_view_details`` tag with value ``val``. + + :param SharedContentViewDetails val: + :rtype: EventDetails + """ + return cls('shared_content_view_details', val) + + @classmethod + def shared_folder_change_confidentiality_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_confidentiality_details`` tag with value ``val``. + + :param SharedFolderChangeConfidentialityDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_change_confidentiality_details', val) + + @classmethod + def shared_folder_change_link_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_link_policy_details`` tag with value ``val``. + + :param SharedFolderChangeLinkPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_change_link_policy_details', val) + + @classmethod + def shared_folder_change_member_management_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_member_management_policy_details`` tag with value + ``val``. + + :param SharedFolderChangeMemberManagementPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_change_member_management_policy_details', val) + + @classmethod + def shared_folder_change_member_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_member_policy_details`` tag with value ``val``. + + :param SharedFolderChangeMemberPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_change_member_policy_details', val) + + @classmethod + def shared_folder_create_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_create_details`` tag with value ``val``. + + :param SharedFolderCreateDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_create_details', val) + + @classmethod + def shared_folder_mount_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_mount_details`` tag with value ``val``. + + :param SharedFolderMountDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_mount_details', val) + + @classmethod + def shared_folder_transfer_ownership_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_transfer_ownership_details`` tag with value ``val``. + + :param SharedFolderTransferOwnershipDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_transfer_ownership_details', val) + + @classmethod + def shared_folder_unmount_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_unmount_details`` tag with value ``val``. + + :param SharedFolderUnmountDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_unmount_details', val) + + @classmethod + def shared_note_opened_details(cls, val): + """ + Create an instance of this class set to the + ``shared_note_opened_details`` tag with value ``val``. + + :param SharedNoteOpenedDetails val: + :rtype: EventDetails + """ + return cls('shared_note_opened_details', val) + + @classmethod + def shmodel_app_create_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_app_create_details`` tag with value ``val``. + + :param ShmodelAppCreateDetails val: + :rtype: EventDetails + """ + return cls('shmodel_app_create_details', val) + + @classmethod + def shmodel_create_details(cls, val): + """ + Create an instance of this class set to the ``shmodel_create_details`` + tag with value ``val``. + + :param ShmodelCreateDetails val: + :rtype: EventDetails + """ + return cls('shmodel_create_details', val) + + @classmethod + def shmodel_disable_details(cls, val): + """ + Create an instance of this class set to the ``shmodel_disable_details`` + tag with value ``val``. + + :param ShmodelDisableDetails val: + :rtype: EventDetails + """ + return cls('shmodel_disable_details', val) + + @classmethod + def shmodel_fb_share_details(cls, val): + """ + Create an instance of this class set to the ``shmodel_fb_share_details`` + tag with value ``val``. + + :param ShmodelFbShareDetails val: + :rtype: EventDetails + """ + return cls('shmodel_fb_share_details', val) + + @classmethod + def shmodel_group_share_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_group_share_details`` tag with value ``val``. + + :param ShmodelGroupShareDetails val: + :rtype: EventDetails + """ + return cls('shmodel_group_share_details', val) + + @classmethod + def shmodel_remove_expiration_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_remove_expiration_details`` tag with value ``val``. + + :param ShmodelRemoveExpirationDetails val: + :rtype: EventDetails + """ + return cls('shmodel_remove_expiration_details', val) + + @classmethod + def shmodel_set_expiration_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_set_expiration_details`` tag with value ``val``. + + :param ShmodelSetExpirationDetails val: + :rtype: EventDetails + """ + return cls('shmodel_set_expiration_details', val) + + @classmethod + def shmodel_team_copy_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_team_copy_details`` tag with value ``val``. + + :param ShmodelTeamCopyDetails val: + :rtype: EventDetails + """ + return cls('shmodel_team_copy_details', val) + + @classmethod + def shmodel_team_download_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_team_download_details`` tag with value ``val``. + + :param ShmodelTeamDownloadDetails val: + :rtype: EventDetails + """ + return cls('shmodel_team_download_details', val) + + @classmethod + def shmodel_team_share_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_team_share_details`` tag with value ``val``. + + :param ShmodelTeamShareDetails val: + :rtype: EventDetails + """ + return cls('shmodel_team_share_details', val) + + @classmethod + def shmodel_team_view_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_team_view_details`` tag with value ``val``. + + :param ShmodelTeamViewDetails val: + :rtype: EventDetails + """ + return cls('shmodel_team_view_details', val) + + @classmethod + def shmodel_visibility_password_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_visibility_password_details`` tag with value ``val``. + + :param ShmodelVisibilityPasswordDetails val: + :rtype: EventDetails + """ + return cls('shmodel_visibility_password_details', val) + + @classmethod + def shmodel_visibility_public_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_visibility_public_details`` tag with value ``val``. + + :param ShmodelVisibilityPublicDetails val: + :rtype: EventDetails + """ + return cls('shmodel_visibility_public_details', val) + + @classmethod + def shmodel_visibility_team_only_details(cls, val): + """ + Create an instance of this class set to the + ``shmodel_visibility_team_only_details`` tag with value ``val``. + + :param ShmodelVisibilityTeamOnlyDetails val: + :rtype: EventDetails + """ + return cls('shmodel_visibility_team_only_details', val) + + @classmethod + def remove_logout_url_details(cls, val): + """ + Create an instance of this class set to the + ``remove_logout_url_details`` tag with value ``val``. + + :param RemoveLogoutUrlDetails val: + :rtype: EventDetails + """ + return cls('remove_logout_url_details', val) + + @classmethod + def remove_sso_url_details(cls, val): + """ + Create an instance of this class set to the ``remove_sso_url_details`` + tag with value ``val``. + + :param RemoveSsoUrlDetails val: + :rtype: EventDetails + """ + return cls('remove_sso_url_details', val) + + @classmethod + def sso_change_cert_details(cls, val): + """ + Create an instance of this class set to the ``sso_change_cert_details`` + tag with value ``val``. + + :param SsoChangeCertDetails val: + :rtype: EventDetails + """ + return cls('sso_change_cert_details', val) + + @classmethod + def sso_change_login_url_details(cls, val): + """ + Create an instance of this class set to the + ``sso_change_login_url_details`` tag with value ``val``. + + :param SsoChangeLoginUrlDetails val: + :rtype: EventDetails + """ + return cls('sso_change_login_url_details', val) + + @classmethod + def sso_change_logout_url_details(cls, val): + """ + Create an instance of this class set to the + ``sso_change_logout_url_details`` tag with value ``val``. + + :param SsoChangeLogoutUrlDetails val: + :rtype: EventDetails + """ + return cls('sso_change_logout_url_details', val) + + @classmethod + def sso_change_saml_identity_mode_details(cls, val): + """ + Create an instance of this class set to the + ``sso_change_saml_identity_mode_details`` tag with value ``val``. + + :param SsoChangeSamlIdentityModeDetails val: + :rtype: EventDetails + """ + return cls('sso_change_saml_identity_mode_details', val) + + @classmethod + def team_folder_change_status_details(cls, val): + """ + Create an instance of this class set to the + ``team_folder_change_status_details`` tag with value ``val``. + + :param TeamFolderChangeStatusDetails val: + :rtype: EventDetails + """ + return cls('team_folder_change_status_details', val) + + @classmethod + def team_folder_create_details(cls, val): + """ + Create an instance of this class set to the + ``team_folder_create_details`` tag with value ``val``. + + :param TeamFolderCreateDetails val: + :rtype: EventDetails + """ + return cls('team_folder_create_details', val) + + @classmethod + def team_folder_downgrade_details(cls, val): + """ + Create an instance of this class set to the + ``team_folder_downgrade_details`` tag with value ``val``. + + :param TeamFolderDowngradeDetails val: + :rtype: EventDetails + """ + return cls('team_folder_downgrade_details', val) + + @classmethod + def team_folder_permanently_delete_details(cls, val): + """ + Create an instance of this class set to the + ``team_folder_permanently_delete_details`` tag with value ``val``. + + :param TeamFolderPermanentlyDeleteDetails val: + :rtype: EventDetails + """ + return cls('team_folder_permanently_delete_details', val) + + @classmethod + def team_folder_rename_details(cls, val): + """ + Create an instance of this class set to the + ``team_folder_rename_details`` tag with value ``val``. + + :param TeamFolderRenameDetails val: + :rtype: EventDetails + """ + return cls('team_folder_rename_details', val) + + @classmethod + def account_capture_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``account_capture_change_policy_details`` tag with value ``val``. + + :param AccountCaptureChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('account_capture_change_policy_details', val) + + @classmethod + def allow_download_disabled_details(cls, val): + """ + Create an instance of this class set to the + ``allow_download_disabled_details`` tag with value ``val``. + + :param AllowDownloadDisabledDetails val: + :rtype: EventDetails + """ + return cls('allow_download_disabled_details', val) + + @classmethod + def allow_download_enabled_details(cls, val): + """ + Create an instance of this class set to the + ``allow_download_enabled_details`` tag with value ``val``. + + :param AllowDownloadEnabledDetails val: + :rtype: EventDetails + """ + return cls('allow_download_enabled_details', val) + + @classmethod + def data_placement_restriction_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``data_placement_restriction_change_policy_details`` tag with value + ``val``. + + :param DataPlacementRestrictionChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('data_placement_restriction_change_policy_details', val) + + @classmethod + def data_placement_restriction_satisfy_policy_details(cls, val): + """ + Create an instance of this class set to the + ``data_placement_restriction_satisfy_policy_details`` tag with value + ``val``. + + :param DataPlacementRestrictionSatisfyPolicyDetails val: + :rtype: EventDetails + """ + return cls('data_placement_restriction_satisfy_policy_details', val) + + @classmethod + def device_approvals_change_desktop_policy_details(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_desktop_policy_details`` tag with value + ``val``. + + :param DeviceApprovalsChangeDesktopPolicyDetails val: + :rtype: EventDetails + """ + return cls('device_approvals_change_desktop_policy_details', val) + + @classmethod + def device_approvals_change_mobile_policy_details(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_mobile_policy_details`` tag with value + ``val``. + + :param DeviceApprovalsChangeMobilePolicyDetails val: + :rtype: EventDetails + """ + return cls('device_approvals_change_mobile_policy_details', val) + + @classmethod + def device_approvals_change_overage_action_details(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_overage_action_details`` tag with value + ``val``. + + :param DeviceApprovalsChangeOverageActionDetails val: + :rtype: EventDetails + """ + return cls('device_approvals_change_overage_action_details', val) + + @classmethod + def device_approvals_change_unlink_action_details(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_unlink_action_details`` tag with value + ``val``. + + :param DeviceApprovalsChangeUnlinkActionDetails val: + :rtype: EventDetails + """ + return cls('device_approvals_change_unlink_action_details', val) + + @classmethod + def emm_add_exception_details(cls, val): + """ + Create an instance of this class set to the + ``emm_add_exception_details`` tag with value ``val``. + + :param EmmAddExceptionDetails val: + :rtype: EventDetails + """ + return cls('emm_add_exception_details', val) + + @classmethod + def emm_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``emm_change_policy_details`` tag with value ``val``. + + :param EmmChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('emm_change_policy_details', val) + + @classmethod + def emm_remove_exception_details(cls, val): + """ + Create an instance of this class set to the + ``emm_remove_exception_details`` tag with value ``val``. + + :param EmmRemoveExceptionDetails val: + :rtype: EventDetails + """ + return cls('emm_remove_exception_details', val) + + @classmethod + def extended_version_history_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``extended_version_history_change_policy_details`` tag with value + ``val``. + + :param ExtendedVersionHistoryChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('extended_version_history_change_policy_details', val) + + @classmethod + def file_comments_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``file_comments_change_policy_details`` tag with value ``val``. + + :param FileCommentsChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('file_comments_change_policy_details', val) + + @classmethod + def file_requests_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``file_requests_change_policy_details`` tag with value ``val``. + + :param FileRequestsChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('file_requests_change_policy_details', val) + + @classmethod + def file_requests_emails_enabled_details(cls, val): + """ + Create an instance of this class set to the + ``file_requests_emails_enabled_details`` tag with value ``val``. + + :param FileRequestsEmailsEnabledDetails val: + :rtype: EventDetails + """ + return cls('file_requests_emails_enabled_details', val) + + @classmethod + def file_requests_emails_restricted_to_team_only_details(cls, val): + """ + Create an instance of this class set to the + ``file_requests_emails_restricted_to_team_only_details`` tag with value + ``val``. + + :param FileRequestsEmailsRestrictedToTeamOnlyDetails val: + :rtype: EventDetails + """ + return cls('file_requests_emails_restricted_to_team_only_details', val) + + @classmethod + def google_sso_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``google_sso_change_policy_details`` tag with value ``val``. + + :param GoogleSsoChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('google_sso_change_policy_details', val) + + @classmethod + def group_user_management_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``group_user_management_change_policy_details`` tag with value ``val``. + + :param GroupUserManagementChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('group_user_management_change_policy_details', val) + + @classmethod + def member_requests_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``member_requests_change_policy_details`` tag with value ``val``. + + :param MemberRequestsChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('member_requests_change_policy_details', val) + + @classmethod + def member_space_limits_add_exception_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_add_exception_details`` tag with value ``val``. + + :param MemberSpaceLimitsAddExceptionDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_add_exception_details', val) + + @classmethod + def member_space_limits_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_policy_details`` tag with value ``val``. + + :param MemberSpaceLimitsChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_change_policy_details', val) + + @classmethod + def member_space_limits_remove_exception_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_remove_exception_details`` tag with value ``val``. + + :param MemberSpaceLimitsRemoveExceptionDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_remove_exception_details', val) + + @classmethod + def member_suggestions_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``member_suggestions_change_policy_details`` tag with value ``val``. + + :param MemberSuggestionsChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('member_suggestions_change_policy_details', val) + + @classmethod + def microsoft_office_addin_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``microsoft_office_addin_change_policy_details`` tag with value ``val``. + + :param MicrosoftOfficeAddinChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('microsoft_office_addin_change_policy_details', val) + + @classmethod + def network_control_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``network_control_change_policy_details`` tag with value ``val``. + + :param NetworkControlChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('network_control_change_policy_details', val) + + @classmethod + def paper_change_deployment_policy_details(cls, val): + """ + Create an instance of this class set to the + ``paper_change_deployment_policy_details`` tag with value ``val``. + + :param PaperChangeDeploymentPolicyDetails val: + :rtype: EventDetails + """ + return cls('paper_change_deployment_policy_details', val) + + @classmethod + def paper_change_member_policy_details(cls, val): + """ + Create an instance of this class set to the + ``paper_change_member_policy_details`` tag with value ``val``. + + :param PaperChangeMemberPolicyDetails val: + :rtype: EventDetails + """ + return cls('paper_change_member_policy_details', val) + + @classmethod + def paper_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``paper_change_policy_details`` tag with value ``val``. + + :param PaperChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('paper_change_policy_details', val) + + @classmethod + def permanent_delete_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``permanent_delete_change_policy_details`` tag with value ``val``. + + :param PermanentDeleteChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('permanent_delete_change_policy_details', val) + + @classmethod + def sharing_change_folder_join_policy_details(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_folder_join_policy_details`` tag with value ``val``. + + :param SharingChangeFolderJoinPolicyDetails val: + :rtype: EventDetails + """ + return cls('sharing_change_folder_join_policy_details', val) + + @classmethod + def sharing_change_link_policy_details(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_link_policy_details`` tag with value ``val``. + + :param SharingChangeLinkPolicyDetails val: + :rtype: EventDetails + """ + return cls('sharing_change_link_policy_details', val) + + @classmethod + def sharing_change_member_policy_details(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_member_policy_details`` tag with value ``val``. + + :param SharingChangeMemberPolicyDetails val: + :rtype: EventDetails + """ + return cls('sharing_change_member_policy_details', val) + + @classmethod + def smart_sync_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``smart_sync_change_policy_details`` tag with value ``val``. + + :param SmartSyncChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('smart_sync_change_policy_details', val) + + @classmethod + def sso_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``sso_change_policy_details`` tag with value ``val``. + + :param SsoChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('sso_change_policy_details', val) + + @classmethod + def tfa_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_change_policy_details`` tag with value ``val``. + + :param TfaChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('tfa_change_policy_details', val) + + @classmethod + def two_account_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``two_account_change_policy_details`` tag with value ``val``. + + :param TwoAccountChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('two_account_change_policy_details', val) + + @classmethod + def web_sessions_change_fixed_length_policy_details(cls, val): + """ + Create an instance of this class set to the + ``web_sessions_change_fixed_length_policy_details`` tag with value + ``val``. + + :param WebSessionsChangeFixedLengthPolicyDetails val: + :rtype: EventDetails + """ + return cls('web_sessions_change_fixed_length_policy_details', val) + + @classmethod + def web_sessions_change_idle_length_policy_details(cls, val): + """ + Create an instance of this class set to the + ``web_sessions_change_idle_length_policy_details`` tag with value + ``val``. + + :param WebSessionsChangeIdleLengthPolicyDetails val: + :rtype: EventDetails + """ + return cls('web_sessions_change_idle_length_policy_details', val) + + @classmethod + def team_profile_add_logo_details(cls, val): + """ + Create an instance of this class set to the + ``team_profile_add_logo_details`` tag with value ``val``. + + :param TeamProfileAddLogoDetails val: + :rtype: EventDetails + """ + return cls('team_profile_add_logo_details', val) + + @classmethod + def team_profile_change_logo_details(cls, val): + """ + Create an instance of this class set to the + ``team_profile_change_logo_details`` tag with value ``val``. + + :param TeamProfileChangeLogoDetails val: + :rtype: EventDetails + """ + return cls('team_profile_change_logo_details', val) + + @classmethod + def team_profile_change_name_details(cls, val): + """ + Create an instance of this class set to the + ``team_profile_change_name_details`` tag with value ``val``. + + :param TeamProfileChangeNameDetails val: + :rtype: EventDetails + """ + return cls('team_profile_change_name_details', val) + + @classmethod + def team_profile_remove_logo_details(cls, val): + """ + Create an instance of this class set to the + ``team_profile_remove_logo_details`` tag with value ``val``. + + :param TeamProfileRemoveLogoDetails val: + :rtype: EventDetails + """ + return cls('team_profile_remove_logo_details', val) + + @classmethod + def tfa_add_backup_phone_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_add_backup_phone_details`` tag with value ``val``. + + :param TfaAddBackupPhoneDetails val: + :rtype: EventDetails + """ + return cls('tfa_add_backup_phone_details', val) + + @classmethod + def tfa_add_security_key_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_add_security_key_details`` tag with value ``val``. + + :param TfaAddSecurityKeyDetails val: + :rtype: EventDetails + """ + return cls('tfa_add_security_key_details', val) + + @classmethod + def tfa_change_backup_phone_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_change_backup_phone_details`` tag with value ``val``. + + :param TfaChangeBackupPhoneDetails val: + :rtype: EventDetails + """ + return cls('tfa_change_backup_phone_details', val) + + @classmethod + def tfa_change_status_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_change_status_details`` tag with value ``val``. + + :param TfaChangeStatusDetails val: + :rtype: EventDetails + """ + return cls('tfa_change_status_details', val) + + @classmethod + def tfa_remove_backup_phone_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_remove_backup_phone_details`` tag with value ``val``. + + :param TfaRemoveBackupPhoneDetails val: + :rtype: EventDetails + """ + return cls('tfa_remove_backup_phone_details', val) + + @classmethod + def tfa_remove_security_key_details(cls, val): + """ + Create an instance of this class set to the + ``tfa_remove_security_key_details`` tag with value ``val``. + + :param TfaRemoveSecurityKeyDetails val: + :rtype: EventDetails + """ + return cls('tfa_remove_security_key_details', val) + + @classmethod + def tfa_reset_details(cls, val): + """ + Create an instance of this class set to the ``tfa_reset_details`` tag + with value ``val``. + + :param TfaResetDetails val: + :rtype: EventDetails + """ + return cls('tfa_reset_details', val) + + @classmethod + def missing_details(cls, val): + """ + Create an instance of this class set to the ``missing_details`` tag with + value ``val``. + + :param MissingDetails val: + :rtype: EventDetails + """ + return cls('missing_details', val) + + def is_member_change_membership_type_details(self): + """ + Check if the union tag is ``member_change_membership_type_details``. + + :rtype: bool + """ + return self._tag == 'member_change_membership_type_details' + + def is_member_permanently_delete_account_contents_details(self): + """ + Check if the union tag is ``member_permanently_delete_account_contents_details``. + + :rtype: bool + """ + return self._tag == 'member_permanently_delete_account_contents_details' + + def is_member_space_limits_change_status_details(self): + """ + Check if the union tag is ``member_space_limits_change_status_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_status_details' + + def is_member_transfer_account_contents_details(self): + """ + Check if the union tag is ``member_transfer_account_contents_details``. + + :rtype: bool + """ + return self._tag == 'member_transfer_account_contents_details' + + def is_paper_enabled_users_group_addition_details(self): + """ + Check if the union tag is ``paper_enabled_users_group_addition_details``. + + :rtype: bool + """ + return self._tag == 'paper_enabled_users_group_addition_details' + + def is_paper_enabled_users_group_removal_details(self): + """ + Check if the union tag is ``paper_enabled_users_group_removal_details``. + + :rtype: bool + """ + return self._tag == 'paper_enabled_users_group_removal_details' + + def is_paper_external_view_allow_details(self): + """ + Check if the union tag is ``paper_external_view_allow_details``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_allow_details' + + def is_paper_external_view_default_team_details(self): + """ + Check if the union tag is ``paper_external_view_default_team_details``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_default_team_details' + + def is_paper_external_view_forbid_details(self): + """ + Check if the union tag is ``paper_external_view_forbid_details``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_forbid_details' + + def is_sf_external_invite_warn_details(self): + """ + Check if the union tag is ``sf_external_invite_warn_details``. + + :rtype: bool + """ + return self._tag == 'sf_external_invite_warn_details' + + def is_team_merge_details(self): + """ + Check if the union tag is ``team_merge_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_details' + + def is_app_link_team_details(self): + """ + Check if the union tag is ``app_link_team_details``. + + :rtype: bool + """ + return self._tag == 'app_link_team_details' + + def is_app_link_user_details(self): + """ + Check if the union tag is ``app_link_user_details``. + + :rtype: bool + """ + return self._tag == 'app_link_user_details' + + def is_app_unlink_team_details(self): + """ + Check if the union tag is ``app_unlink_team_details``. + + :rtype: bool + """ + return self._tag == 'app_unlink_team_details' + + def is_app_unlink_user_details(self): + """ + Check if the union tag is ``app_unlink_user_details``. + + :rtype: bool + """ + return self._tag == 'app_unlink_user_details' + + def is_device_change_ip_desktop_details(self): + """ + Check if the union tag is ``device_change_ip_desktop_details``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_desktop_details' + + def is_device_change_ip_mobile_details(self): + """ + Check if the union tag is ``device_change_ip_mobile_details``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_mobile_details' + + def is_device_change_ip_web_details(self): + """ + Check if the union tag is ``device_change_ip_web_details``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_web_details' + + def is_device_delete_on_unlink_fail_details(self): + """ + Check if the union tag is ``device_delete_on_unlink_fail_details``. + + :rtype: bool + """ + return self._tag == 'device_delete_on_unlink_fail_details' + + def is_device_delete_on_unlink_success_details(self): + """ + Check if the union tag is ``device_delete_on_unlink_success_details``. + + :rtype: bool + """ + return self._tag == 'device_delete_on_unlink_success_details' + + def is_device_link_fail_details(self): + """ + Check if the union tag is ``device_link_fail_details``. + + :rtype: bool + """ + return self._tag == 'device_link_fail_details' + + def is_device_link_success_details(self): + """ + Check if the union tag is ``device_link_success_details``. + + :rtype: bool + """ + return self._tag == 'device_link_success_details' + + def is_device_management_disabled_details(self): + """ + Check if the union tag is ``device_management_disabled_details``. + + :rtype: bool + """ + return self._tag == 'device_management_disabled_details' + + def is_device_management_enabled_details(self): + """ + Check if the union tag is ``device_management_enabled_details``. + + :rtype: bool + """ + return self._tag == 'device_management_enabled_details' + + def is_device_unlink_details(self): + """ + Check if the union tag is ``device_unlink_details``. + + :rtype: bool + """ + return self._tag == 'device_unlink_details' + + def is_emm_refresh_auth_token_details(self): + """ + Check if the union tag is ``emm_refresh_auth_token_details``. + + :rtype: bool + """ + return self._tag == 'emm_refresh_auth_token_details' + + def is_account_capture_change_availability_details(self): + """ + Check if the union tag is ``account_capture_change_availability_details``. + + :rtype: bool + """ + return self._tag == 'account_capture_change_availability_details' + + def is_account_capture_migrate_account_details(self): + """ + Check if the union tag is ``account_capture_migrate_account_details``. + + :rtype: bool + """ + return self._tag == 'account_capture_migrate_account_details' + + def is_account_capture_relinquish_account_details(self): + """ + Check if the union tag is ``account_capture_relinquish_account_details``. + + :rtype: bool + """ + return self._tag == 'account_capture_relinquish_account_details' + + def is_disabled_domain_invites_details(self): + """ + Check if the union tag is ``disabled_domain_invites_details``. + + :rtype: bool + """ + return self._tag == 'disabled_domain_invites_details' + + def is_domain_invites_approve_request_to_join_team_details(self): + """ + Check if the union tag is ``domain_invites_approve_request_to_join_team_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_approve_request_to_join_team_details' + + def is_domain_invites_decline_request_to_join_team_details(self): + """ + Check if the union tag is ``domain_invites_decline_request_to_join_team_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_decline_request_to_join_team_details' + + def is_domain_invites_email_existing_users_details(self): + """ + Check if the union tag is ``domain_invites_email_existing_users_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_email_existing_users_details' + + def is_domain_invites_request_to_join_team_details(self): + """ + Check if the union tag is ``domain_invites_request_to_join_team_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_request_to_join_team_details' + + def is_domain_invites_set_invite_new_user_pref_to_no_details(self): + """ + Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_no_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_set_invite_new_user_pref_to_no_details' + + def is_domain_invites_set_invite_new_user_pref_to_yes_details(self): + """ + Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_yes_details``. + + :rtype: bool + """ + return self._tag == 'domain_invites_set_invite_new_user_pref_to_yes_details' + + def is_domain_verification_add_domain_fail_details(self): + """ + Check if the union tag is ``domain_verification_add_domain_fail_details``. + + :rtype: bool + """ + return self._tag == 'domain_verification_add_domain_fail_details' + + def is_domain_verification_add_domain_success_details(self): + """ + Check if the union tag is ``domain_verification_add_domain_success_details``. + + :rtype: bool + """ + return self._tag == 'domain_verification_add_domain_success_details' + + def is_domain_verification_remove_domain_details(self): + """ + Check if the union tag is ``domain_verification_remove_domain_details``. + + :rtype: bool + """ + return self._tag == 'domain_verification_remove_domain_details' + + def is_enabled_domain_invites_details(self): + """ + Check if the union tag is ``enabled_domain_invites_details``. + + :rtype: bool + """ + return self._tag == 'enabled_domain_invites_details' + + def is_create_folder_details(self): + """ + Check if the union tag is ``create_folder_details``. + + :rtype: bool + """ + return self._tag == 'create_folder_details' + + def is_file_add_details(self): + """ + Check if the union tag is ``file_add_details``. + + :rtype: bool + """ + return self._tag == 'file_add_details' + + def is_file_copy_details(self): + """ + Check if the union tag is ``file_copy_details``. + + :rtype: bool + """ + return self._tag == 'file_copy_details' + + def is_file_delete_details(self): + """ + Check if the union tag is ``file_delete_details``. + + :rtype: bool + """ + return self._tag == 'file_delete_details' + + def is_file_download_details(self): + """ + Check if the union tag is ``file_download_details``. + + :rtype: bool + """ + return self._tag == 'file_download_details' + + def is_file_edit_details(self): + """ + Check if the union tag is ``file_edit_details``. + + :rtype: bool + """ + return self._tag == 'file_edit_details' + + def is_file_get_copy_reference_details(self): + """ + Check if the union tag is ``file_get_copy_reference_details``. + + :rtype: bool + """ + return self._tag == 'file_get_copy_reference_details' + + def is_file_move_details(self): + """ + Check if the union tag is ``file_move_details``. + + :rtype: bool + """ + return self._tag == 'file_move_details' + + def is_file_permanently_delete_details(self): + """ + Check if the union tag is ``file_permanently_delete_details``. + + :rtype: bool + """ + return self._tag == 'file_permanently_delete_details' + + def is_file_preview_details(self): + """ + Check if the union tag is ``file_preview_details``. + + :rtype: bool + """ + return self._tag == 'file_preview_details' + + def is_file_rename_details(self): + """ + Check if the union tag is ``file_rename_details``. + + :rtype: bool + """ + return self._tag == 'file_rename_details' + + def is_file_restore_details(self): + """ + Check if the union tag is ``file_restore_details``. + + :rtype: bool + """ + return self._tag == 'file_restore_details' + + def is_file_revert_details(self): + """ + Check if the union tag is ``file_revert_details``. + + :rtype: bool + """ + return self._tag == 'file_revert_details' + + def is_file_rollback_changes_details(self): + """ + Check if the union tag is ``file_rollback_changes_details``. + + :rtype: bool + """ + return self._tag == 'file_rollback_changes_details' + + def is_file_save_copy_reference_details(self): + """ + Check if the union tag is ``file_save_copy_reference_details``. + + :rtype: bool + """ + return self._tag == 'file_save_copy_reference_details' + + def is_file_request_add_deadline_details(self): + """ + Check if the union tag is ``file_request_add_deadline_details``. + + :rtype: bool + """ + return self._tag == 'file_request_add_deadline_details' + + def is_file_request_change_folder_details(self): + """ + Check if the union tag is ``file_request_change_folder_details``. + + :rtype: bool + """ + return self._tag == 'file_request_change_folder_details' + + def is_file_request_change_title_details(self): + """ + Check if the union tag is ``file_request_change_title_details``. + + :rtype: bool + """ + return self._tag == 'file_request_change_title_details' + + def is_file_request_close_details(self): + """ + Check if the union tag is ``file_request_close_details``. + + :rtype: bool + """ + return self._tag == 'file_request_close_details' + + def is_file_request_create_details(self): + """ + Check if the union tag is ``file_request_create_details``. + + :rtype: bool + """ + return self._tag == 'file_request_create_details' + + def is_file_request_receive_file_details(self): + """ + Check if the union tag is ``file_request_receive_file_details``. + + :rtype: bool + """ + return self._tag == 'file_request_receive_file_details' + + def is_file_request_remove_deadline_details(self): + """ + Check if the union tag is ``file_request_remove_deadline_details``. + + :rtype: bool + """ + return self._tag == 'file_request_remove_deadline_details' + + def is_file_request_send_details(self): + """ + Check if the union tag is ``file_request_send_details``. + + :rtype: bool + """ + return self._tag == 'file_request_send_details' + + def is_group_add_external_id_details(self): + """ + Check if the union tag is ``group_add_external_id_details``. + + :rtype: bool + """ + return self._tag == 'group_add_external_id_details' + + def is_group_add_member_details(self): + """ + Check if the union tag is ``group_add_member_details``. + + :rtype: bool + """ + return self._tag == 'group_add_member_details' + + def is_group_change_external_id_details(self): + """ + Check if the union tag is ``group_change_external_id_details``. + + :rtype: bool + """ + return self._tag == 'group_change_external_id_details' + + def is_group_change_management_type_details(self): + """ + Check if the union tag is ``group_change_management_type_details``. + + :rtype: bool + """ + return self._tag == 'group_change_management_type_details' + + def is_group_change_member_role_details(self): + """ + Check if the union tag is ``group_change_member_role_details``. + + :rtype: bool + """ + return self._tag == 'group_change_member_role_details' + + def is_group_create_details(self): + """ + Check if the union tag is ``group_create_details``. + + :rtype: bool + """ + return self._tag == 'group_create_details' + + def is_group_delete_details(self): + """ + Check if the union tag is ``group_delete_details``. + + :rtype: bool + """ + return self._tag == 'group_delete_details' + + def is_group_description_updated_details(self): + """ + Check if the union tag is ``group_description_updated_details``. + + :rtype: bool + """ + return self._tag == 'group_description_updated_details' + + def is_group_join_policy_updated_details(self): + """ + Check if the union tag is ``group_join_policy_updated_details``. + + :rtype: bool + """ + return self._tag == 'group_join_policy_updated_details' + + def is_group_moved_details(self): + """ + Check if the union tag is ``group_moved_details``. + + :rtype: bool + """ + return self._tag == 'group_moved_details' + + def is_group_remove_external_id_details(self): + """ + Check if the union tag is ``group_remove_external_id_details``. + + :rtype: bool + """ + return self._tag == 'group_remove_external_id_details' + + def is_group_remove_member_details(self): + """ + Check if the union tag is ``group_remove_member_details``. + + :rtype: bool + """ + return self._tag == 'group_remove_member_details' + + def is_group_rename_details(self): + """ + Check if the union tag is ``group_rename_details``. + + :rtype: bool + """ + return self._tag == 'group_rename_details' + + def is_emm_login_success_details(self): + """ + Check if the union tag is ``emm_login_success_details``. + + :rtype: bool + """ + return self._tag == 'emm_login_success_details' + + def is_logout_details(self): + """ + Check if the union tag is ``logout_details``. + + :rtype: bool + """ + return self._tag == 'logout_details' + + def is_password_login_fail_details(self): + """ + Check if the union tag is ``password_login_fail_details``. + + :rtype: bool + """ + return self._tag == 'password_login_fail_details' + + def is_password_login_success_details(self): + """ + Check if the union tag is ``password_login_success_details``. + + :rtype: bool + """ + return self._tag == 'password_login_success_details' + + def is_reseller_support_session_end_details(self): + """ + Check if the union tag is ``reseller_support_session_end_details``. + + :rtype: bool + """ + return self._tag == 'reseller_support_session_end_details' + + def is_reseller_support_session_start_details(self): + """ + Check if the union tag is ``reseller_support_session_start_details``. + + :rtype: bool + """ + return self._tag == 'reseller_support_session_start_details' + + def is_sign_in_as_session_end_details(self): + """ + Check if the union tag is ``sign_in_as_session_end_details``. + + :rtype: bool + """ + return self._tag == 'sign_in_as_session_end_details' + + def is_sign_in_as_session_start_details(self): + """ + Check if the union tag is ``sign_in_as_session_start_details``. + + :rtype: bool + """ + return self._tag == 'sign_in_as_session_start_details' + + def is_sso_login_fail_details(self): + """ + Check if the union tag is ``sso_login_fail_details``. + + :rtype: bool + """ + return self._tag == 'sso_login_fail_details' + + def is_member_add_name_details(self): + """ + Check if the union tag is ``member_add_name_details``. + + :rtype: bool + """ + return self._tag == 'member_add_name_details' + + def is_member_change_email_details(self): + """ + Check if the union tag is ``member_change_email_details``. + + :rtype: bool + """ + return self._tag == 'member_change_email_details' + + def is_member_change_name_details(self): + """ + Check if the union tag is ``member_change_name_details``. + + :rtype: bool + """ + return self._tag == 'member_change_name_details' + + def is_member_change_role_details(self): + """ + Check if the union tag is ``member_change_role_details``. + + :rtype: bool + """ + return self._tag == 'member_change_role_details' + + def is_member_invite_details(self): + """ + Check if the union tag is ``member_invite_details``. + + :rtype: bool + """ + return self._tag == 'member_invite_details' + + def is_member_join_details(self): + """ + Check if the union tag is ``member_join_details``. + + :rtype: bool + """ + return self._tag == 'member_join_details' + + def is_member_leave_details(self): + """ + Check if the union tag is ``member_leave_details``. + + :rtype: bool + """ + return self._tag == 'member_leave_details' + + def is_member_recover_details(self): + """ + Check if the union tag is ``member_recover_details``. + + :rtype: bool + """ + return self._tag == 'member_recover_details' + + def is_member_suggest_details(self): + """ + Check if the union tag is ``member_suggest_details``. + + :rtype: bool + """ + return self._tag == 'member_suggest_details' + + def is_member_suspend_details(self): + """ + Check if the union tag is ``member_suspend_details``. + + :rtype: bool + """ + return self._tag == 'member_suspend_details' + + def is_member_unsuspend_details(self): + """ + Check if the union tag is ``member_unsuspend_details``. + + :rtype: bool + """ + return self._tag == 'member_unsuspend_details' + + def is_paper_content_add_member_details(self): + """ + Check if the union tag is ``paper_content_add_member_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_add_member_details' + + def is_paper_content_add_to_folder_details(self): + """ + Check if the union tag is ``paper_content_add_to_folder_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_add_to_folder_details' + + def is_paper_content_archive_details(self): + """ + Check if the union tag is ``paper_content_archive_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_archive_details' + + def is_paper_content_change_subscription_details(self): + """ + Check if the union tag is ``paper_content_change_subscription_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_change_subscription_details' + + def is_paper_content_create_details(self): + """ + Check if the union tag is ``paper_content_create_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_create_details' + + def is_paper_content_permanently_delete_details(self): + """ + Check if the union tag is ``paper_content_permanently_delete_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_permanently_delete_details' + + def is_paper_content_remove_from_folder_details(self): + """ + Check if the union tag is ``paper_content_remove_from_folder_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_remove_from_folder_details' + + def is_paper_content_remove_member_details(self): + """ + Check if the union tag is ``paper_content_remove_member_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_remove_member_details' + + def is_paper_content_rename_details(self): + """ + Check if the union tag is ``paper_content_rename_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_rename_details' + + def is_paper_content_restore_details(self): + """ + Check if the union tag is ``paper_content_restore_details``. + + :rtype: bool + """ + return self._tag == 'paper_content_restore_details' + + def is_paper_doc_add_comment_details(self): + """ + Check if the union tag is ``paper_doc_add_comment_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_add_comment_details' + + def is_paper_doc_change_member_role_details(self): + """ + Check if the union tag is ``paper_doc_change_member_role_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_change_member_role_details' + + def is_paper_doc_change_sharing_policy_details(self): + """ + Check if the union tag is ``paper_doc_change_sharing_policy_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_change_sharing_policy_details' + + def is_paper_doc_deleted_details(self): + """ + Check if the union tag is ``paper_doc_deleted_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_deleted_details' + + def is_paper_doc_delete_comment_details(self): + """ + Check if the union tag is ``paper_doc_delete_comment_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_delete_comment_details' + + def is_paper_doc_download_details(self): + """ + Check if the union tag is ``paper_doc_download_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_download_details' + + def is_paper_doc_edit_details(self): + """ + Check if the union tag is ``paper_doc_edit_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_edit_details' + + def is_paper_doc_edit_comment_details(self): + """ + Check if the union tag is ``paper_doc_edit_comment_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_edit_comment_details' + + def is_paper_doc_followed_details(self): + """ + Check if the union tag is ``paper_doc_followed_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_followed_details' + + def is_paper_doc_mention_details(self): + """ + Check if the union tag is ``paper_doc_mention_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_mention_details' + + def is_paper_doc_request_access_details(self): + """ + Check if the union tag is ``paper_doc_request_access_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_request_access_details' + + def is_paper_doc_resolve_comment_details(self): + """ + Check if the union tag is ``paper_doc_resolve_comment_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_resolve_comment_details' + + def is_paper_doc_revert_details(self): + """ + Check if the union tag is ``paper_doc_revert_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_revert_details' + + def is_paper_doc_slack_share_details(self): + """ + Check if the union tag is ``paper_doc_slack_share_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_slack_share_details' + + def is_paper_doc_team_invite_details(self): + """ + Check if the union tag is ``paper_doc_team_invite_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_team_invite_details' + + def is_paper_doc_unresolve_comment_details(self): + """ + Check if the union tag is ``paper_doc_unresolve_comment_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_unresolve_comment_details' + + def is_paper_doc_view_details(self): + """ + Check if the union tag is ``paper_doc_view_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_view_details' + + def is_paper_folder_deleted_details(self): + """ + Check if the union tag is ``paper_folder_deleted_details``. + + :rtype: bool + """ + return self._tag == 'paper_folder_deleted_details' + + def is_paper_folder_followed_details(self): + """ + Check if the union tag is ``paper_folder_followed_details``. + + :rtype: bool + """ + return self._tag == 'paper_folder_followed_details' + + def is_paper_folder_team_invite_details(self): + """ + Check if the union tag is ``paper_folder_team_invite_details``. + + :rtype: bool + """ + return self._tag == 'paper_folder_team_invite_details' + + def is_password_change_details(self): + """ + Check if the union tag is ``password_change_details``. + + :rtype: bool + """ + return self._tag == 'password_change_details' + + def is_password_reset_details(self): + """ + Check if the union tag is ``password_reset_details``. + + :rtype: bool + """ + return self._tag == 'password_reset_details' + + def is_password_reset_all_details(self): + """ + Check if the union tag is ``password_reset_all_details``. + + :rtype: bool + """ + return self._tag == 'password_reset_all_details' + + def is_emm_create_exceptions_report_details(self): + """ + Check if the union tag is ``emm_create_exceptions_report_details``. + + :rtype: bool + """ + return self._tag == 'emm_create_exceptions_report_details' + + def is_emm_create_usage_report_details(self): + """ + Check if the union tag is ``emm_create_usage_report_details``. + + :rtype: bool + """ + return self._tag == 'emm_create_usage_report_details' + + def is_smart_sync_create_admin_privilege_report_details(self): + """ + Check if the union tag is ``smart_sync_create_admin_privilege_report_details``. + + :rtype: bool + """ + return self._tag == 'smart_sync_create_admin_privilege_report_details' + + def is_team_activity_create_report_details(self): + """ + Check if the union tag is ``team_activity_create_report_details``. + + :rtype: bool + """ + return self._tag == 'team_activity_create_report_details' + + def is_collection_share_details(self): + """ + Check if the union tag is ``collection_share_details``. + + :rtype: bool + """ + return self._tag == 'collection_share_details' + + def is_file_add_comment_details(self): + """ + Check if the union tag is ``file_add_comment_details``. + + :rtype: bool + """ + return self._tag == 'file_add_comment_details' + + def is_file_like_comment_details(self): + """ + Check if the union tag is ``file_like_comment_details``. + + :rtype: bool + """ + return self._tag == 'file_like_comment_details' + + def is_file_unlike_comment_details(self): + """ + Check if the union tag is ``file_unlike_comment_details``. + + :rtype: bool + """ + return self._tag == 'file_unlike_comment_details' + + def is_note_acl_invite_only_details(self): + """ + Check if the union tag is ``note_acl_invite_only_details``. + + :rtype: bool + """ + return self._tag == 'note_acl_invite_only_details' + + def is_note_acl_link_details(self): + """ + Check if the union tag is ``note_acl_link_details``. + + :rtype: bool + """ + return self._tag == 'note_acl_link_details' + + def is_note_acl_team_link_details(self): + """ + Check if the union tag is ``note_acl_team_link_details``. + + :rtype: bool + """ + return self._tag == 'note_acl_team_link_details' + + def is_note_shared_details(self): + """ + Check if the union tag is ``note_shared_details``. + + :rtype: bool + """ + return self._tag == 'note_shared_details' + + def is_note_share_receive_details(self): + """ + Check if the union tag is ``note_share_receive_details``. + + :rtype: bool + """ + return self._tag == 'note_share_receive_details' + + def is_open_note_shared_details(self): + """ + Check if the union tag is ``open_note_shared_details``. + + :rtype: bool + """ + return self._tag == 'open_note_shared_details' + + def is_sf_add_group_details(self): + """ + Check if the union tag is ``sf_add_group_details``. + + :rtype: bool + """ + return self._tag == 'sf_add_group_details' + + def is_sf_allow_non_members_to_view_shared_links_details(self): + """ + Check if the union tag is ``sf_allow_non_members_to_view_shared_links_details``. + + :rtype: bool + """ + return self._tag == 'sf_allow_non_members_to_view_shared_links_details' + + def is_sf_invite_group_details(self): + """ + Check if the union tag is ``sf_invite_group_details``. + + :rtype: bool + """ + return self._tag == 'sf_invite_group_details' + + def is_sf_nest_details(self): + """ + Check if the union tag is ``sf_nest_details``. + + :rtype: bool + """ + return self._tag == 'sf_nest_details' + + def is_sf_team_decline_details(self): + """ + Check if the union tag is ``sf_team_decline_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_decline_details' + + def is_sf_team_grant_access_details(self): + """ + Check if the union tag is ``sf_team_grant_access_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_grant_access_details' + + def is_sf_team_invite_details(self): + """ + Check if the union tag is ``sf_team_invite_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_invite_details' + + def is_sf_team_invite_change_role_details(self): + """ + Check if the union tag is ``sf_team_invite_change_role_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_invite_change_role_details' + + def is_sf_team_join_details(self): + """ + Check if the union tag is ``sf_team_join_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_join_details' + + def is_sf_team_join_from_oob_link_details(self): + """ + Check if the union tag is ``sf_team_join_from_oob_link_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_join_from_oob_link_details' + + def is_sf_team_uninvite_details(self): + """ + Check if the union tag is ``sf_team_uninvite_details``. + + :rtype: bool + """ + return self._tag == 'sf_team_uninvite_details' + + def is_shared_content_add_invitees_details(self): + """ + Check if the union tag is ``shared_content_add_invitees_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_invitees_details' + + def is_shared_content_add_link_expiry_details(self): + """ + Check if the union tag is ``shared_content_add_link_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_link_expiry_details' + + def is_shared_content_add_link_password_details(self): + """ + Check if the union tag is ``shared_content_add_link_password_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_link_password_details' + + def is_shared_content_add_member_details(self): + """ + Check if the union tag is ``shared_content_add_member_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_member_details' + + def is_shared_content_change_downloads_policy_details(self): + """ + Check if the union tag is ``shared_content_change_downloads_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_downloads_policy_details' + + def is_shared_content_change_invitee_role_details(self): + """ + Check if the union tag is ``shared_content_change_invitee_role_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_invitee_role_details' + + def is_shared_content_change_link_audience_details(self): + """ + Check if the union tag is ``shared_content_change_link_audience_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_audience_details' + + def is_shared_content_change_link_expiry_details(self): + """ + Check if the union tag is ``shared_content_change_link_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_expiry_details' + + def is_shared_content_change_link_password_details(self): + """ + Check if the union tag is ``shared_content_change_link_password_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_password_details' + + def is_shared_content_change_member_role_details(self): + """ + Check if the union tag is ``shared_content_change_member_role_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_member_role_details' + + def is_shared_content_change_viewer_info_policy_details(self): + """ + Check if the union tag is ``shared_content_change_viewer_info_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_viewer_info_policy_details' + + def is_shared_content_claim_invitation_details(self): + """ + Check if the union tag is ``shared_content_claim_invitation_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_claim_invitation_details' + + def is_shared_content_copy_details(self): + """ + Check if the union tag is ``shared_content_copy_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_copy_details' + + def is_shared_content_download_details(self): + """ + Check if the union tag is ``shared_content_download_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_download_details' + + def is_shared_content_relinquish_membership_details(self): + """ + Check if the union tag is ``shared_content_relinquish_membership_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_relinquish_membership_details' + + def is_shared_content_remove_invitee_details(self): + """ + Check if the union tag is ``shared_content_remove_invitee_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_invitee_details' + + def is_shared_content_remove_link_expiry_details(self): + """ + Check if the union tag is ``shared_content_remove_link_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_link_expiry_details' + + def is_shared_content_remove_link_password_details(self): + """ + Check if the union tag is ``shared_content_remove_link_password_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_link_password_details' + + def is_shared_content_remove_member_details(self): + """ + Check if the union tag is ``shared_content_remove_member_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_member_details' + + def is_shared_content_request_access_details(self): + """ + Check if the union tag is ``shared_content_request_access_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_request_access_details' + + def is_shared_content_unshare_details(self): + """ + Check if the union tag is ``shared_content_unshare_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_unshare_details' + + def is_shared_content_view_details(self): + """ + Check if the union tag is ``shared_content_view_details``. + + :rtype: bool + """ + return self._tag == 'shared_content_view_details' + + def is_shared_folder_change_confidentiality_details(self): + """ + Check if the union tag is ``shared_folder_change_confidentiality_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_confidentiality_details' + + def is_shared_folder_change_link_policy_details(self): + """ + Check if the union tag is ``shared_folder_change_link_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_link_policy_details' + + def is_shared_folder_change_member_management_policy_details(self): + """ + Check if the union tag is ``shared_folder_change_member_management_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_member_management_policy_details' + + def is_shared_folder_change_member_policy_details(self): + """ + Check if the union tag is ``shared_folder_change_member_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_member_policy_details' + + def is_shared_folder_create_details(self): + """ + Check if the union tag is ``shared_folder_create_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_create_details' + + def is_shared_folder_mount_details(self): + """ + Check if the union tag is ``shared_folder_mount_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_mount_details' + + def is_shared_folder_transfer_ownership_details(self): + """ + Check if the union tag is ``shared_folder_transfer_ownership_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_transfer_ownership_details' + + def is_shared_folder_unmount_details(self): + """ + Check if the union tag is ``shared_folder_unmount_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_unmount_details' + + def is_shared_note_opened_details(self): + """ + Check if the union tag is ``shared_note_opened_details``. + + :rtype: bool + """ + return self._tag == 'shared_note_opened_details' + + def is_shmodel_app_create_details(self): + """ + Check if the union tag is ``shmodel_app_create_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_app_create_details' + + def is_shmodel_create_details(self): + """ + Check if the union tag is ``shmodel_create_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_create_details' + + def is_shmodel_disable_details(self): + """ + Check if the union tag is ``shmodel_disable_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_disable_details' + + def is_shmodel_fb_share_details(self): + """ + Check if the union tag is ``shmodel_fb_share_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_fb_share_details' + + def is_shmodel_group_share_details(self): + """ + Check if the union tag is ``shmodel_group_share_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_group_share_details' + + def is_shmodel_remove_expiration_details(self): + """ + Check if the union tag is ``shmodel_remove_expiration_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_remove_expiration_details' + + def is_shmodel_set_expiration_details(self): + """ + Check if the union tag is ``shmodel_set_expiration_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_set_expiration_details' + + def is_shmodel_team_copy_details(self): + """ + Check if the union tag is ``shmodel_team_copy_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_copy_details' + + def is_shmodel_team_download_details(self): + """ + Check if the union tag is ``shmodel_team_download_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_download_details' + + def is_shmodel_team_share_details(self): + """ + Check if the union tag is ``shmodel_team_share_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_share_details' + + def is_shmodel_team_view_details(self): + """ + Check if the union tag is ``shmodel_team_view_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_view_details' + + def is_shmodel_visibility_password_details(self): + """ + Check if the union tag is ``shmodel_visibility_password_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_password_details' + + def is_shmodel_visibility_public_details(self): + """ + Check if the union tag is ``shmodel_visibility_public_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_public_details' + + def is_shmodel_visibility_team_only_details(self): + """ + Check if the union tag is ``shmodel_visibility_team_only_details``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_team_only_details' + + def is_remove_logout_url_details(self): + """ + Check if the union tag is ``remove_logout_url_details``. + + :rtype: bool + """ + return self._tag == 'remove_logout_url_details' + + def is_remove_sso_url_details(self): + """ + Check if the union tag is ``remove_sso_url_details``. + + :rtype: bool + """ + return self._tag == 'remove_sso_url_details' + + def is_sso_change_cert_details(self): + """ + Check if the union tag is ``sso_change_cert_details``. + + :rtype: bool + """ + return self._tag == 'sso_change_cert_details' + + def is_sso_change_login_url_details(self): + """ + Check if the union tag is ``sso_change_login_url_details``. + + :rtype: bool + """ + return self._tag == 'sso_change_login_url_details' + + def is_sso_change_logout_url_details(self): + """ + Check if the union tag is ``sso_change_logout_url_details``. + + :rtype: bool + """ + return self._tag == 'sso_change_logout_url_details' + + def is_sso_change_saml_identity_mode_details(self): + """ + Check if the union tag is ``sso_change_saml_identity_mode_details``. + + :rtype: bool + """ + return self._tag == 'sso_change_saml_identity_mode_details' + + def is_team_folder_change_status_details(self): + """ + Check if the union tag is ``team_folder_change_status_details``. + + :rtype: bool + """ + return self._tag == 'team_folder_change_status_details' + + def is_team_folder_create_details(self): + """ + Check if the union tag is ``team_folder_create_details``. + + :rtype: bool + """ + return self._tag == 'team_folder_create_details' + + def is_team_folder_downgrade_details(self): + """ + Check if the union tag is ``team_folder_downgrade_details``. + + :rtype: bool + """ + return self._tag == 'team_folder_downgrade_details' + + def is_team_folder_permanently_delete_details(self): + """ + Check if the union tag is ``team_folder_permanently_delete_details``. + + :rtype: bool + """ + return self._tag == 'team_folder_permanently_delete_details' + + def is_team_folder_rename_details(self): + """ + Check if the union tag is ``team_folder_rename_details``. + + :rtype: bool + """ + return self._tag == 'team_folder_rename_details' + + def is_account_capture_change_policy_details(self): + """ + Check if the union tag is ``account_capture_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'account_capture_change_policy_details' + + def is_allow_download_disabled_details(self): + """ + Check if the union tag is ``allow_download_disabled_details``. + + :rtype: bool + """ + return self._tag == 'allow_download_disabled_details' + + def is_allow_download_enabled_details(self): + """ + Check if the union tag is ``allow_download_enabled_details``. + + :rtype: bool + """ + return self._tag == 'allow_download_enabled_details' + + def is_data_placement_restriction_change_policy_details(self): + """ + Check if the union tag is ``data_placement_restriction_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'data_placement_restriction_change_policy_details' + + def is_data_placement_restriction_satisfy_policy_details(self): + """ + Check if the union tag is ``data_placement_restriction_satisfy_policy_details``. + + :rtype: bool + """ + return self._tag == 'data_placement_restriction_satisfy_policy_details' + + def is_device_approvals_change_desktop_policy_details(self): + """ + Check if the union tag is ``device_approvals_change_desktop_policy_details``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_desktop_policy_details' + + def is_device_approvals_change_mobile_policy_details(self): + """ + Check if the union tag is ``device_approvals_change_mobile_policy_details``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_mobile_policy_details' + + def is_device_approvals_change_overage_action_details(self): + """ + Check if the union tag is ``device_approvals_change_overage_action_details``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_overage_action_details' + + def is_device_approvals_change_unlink_action_details(self): + """ + Check if the union tag is ``device_approvals_change_unlink_action_details``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_unlink_action_details' + + def is_emm_add_exception_details(self): + """ + Check if the union tag is ``emm_add_exception_details``. + + :rtype: bool + """ + return self._tag == 'emm_add_exception_details' + + def is_emm_change_policy_details(self): + """ + Check if the union tag is ``emm_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'emm_change_policy_details' + + def is_emm_remove_exception_details(self): + """ + Check if the union tag is ``emm_remove_exception_details``. + + :rtype: bool + """ + return self._tag == 'emm_remove_exception_details' + + def is_extended_version_history_change_policy_details(self): + """ + Check if the union tag is ``extended_version_history_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'extended_version_history_change_policy_details' + + def is_file_comments_change_policy_details(self): + """ + Check if the union tag is ``file_comments_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'file_comments_change_policy_details' + + def is_file_requests_change_policy_details(self): + """ + Check if the union tag is ``file_requests_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'file_requests_change_policy_details' + + def is_file_requests_emails_enabled_details(self): + """ + Check if the union tag is ``file_requests_emails_enabled_details``. + + :rtype: bool + """ + return self._tag == 'file_requests_emails_enabled_details' + + def is_file_requests_emails_restricted_to_team_only_details(self): + """ + Check if the union tag is ``file_requests_emails_restricted_to_team_only_details``. + + :rtype: bool + """ + return self._tag == 'file_requests_emails_restricted_to_team_only_details' + + def is_google_sso_change_policy_details(self): + """ + Check if the union tag is ``google_sso_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'google_sso_change_policy_details' + + def is_group_user_management_change_policy_details(self): + """ + Check if the union tag is ``group_user_management_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'group_user_management_change_policy_details' + + def is_member_requests_change_policy_details(self): + """ + Check if the union tag is ``member_requests_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'member_requests_change_policy_details' + + def is_member_space_limits_add_exception_details(self): + """ + Check if the union tag is ``member_space_limits_add_exception_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_add_exception_details' + + def is_member_space_limits_change_policy_details(self): + """ + Check if the union tag is ``member_space_limits_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_policy_details' + + def is_member_space_limits_remove_exception_details(self): + """ + Check if the union tag is ``member_space_limits_remove_exception_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_remove_exception_details' + + def is_member_suggestions_change_policy_details(self): + """ + Check if the union tag is ``member_suggestions_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'member_suggestions_change_policy_details' + + def is_microsoft_office_addin_change_policy_details(self): + """ + Check if the union tag is ``microsoft_office_addin_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'microsoft_office_addin_change_policy_details' + + def is_network_control_change_policy_details(self): + """ + Check if the union tag is ``network_control_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'network_control_change_policy_details' + + def is_paper_change_deployment_policy_details(self): + """ + Check if the union tag is ``paper_change_deployment_policy_details``. + + :rtype: bool + """ + return self._tag == 'paper_change_deployment_policy_details' + + def is_paper_change_member_policy_details(self): + """ + Check if the union tag is ``paper_change_member_policy_details``. + + :rtype: bool + """ + return self._tag == 'paper_change_member_policy_details' + + def is_paper_change_policy_details(self): + """ + Check if the union tag is ``paper_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'paper_change_policy_details' + + def is_permanent_delete_change_policy_details(self): + """ + Check if the union tag is ``permanent_delete_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'permanent_delete_change_policy_details' + + def is_sharing_change_folder_join_policy_details(self): + """ + Check if the union tag is ``sharing_change_folder_join_policy_details``. + + :rtype: bool + """ + return self._tag == 'sharing_change_folder_join_policy_details' + + def is_sharing_change_link_policy_details(self): + """ + Check if the union tag is ``sharing_change_link_policy_details``. + + :rtype: bool + """ + return self._tag == 'sharing_change_link_policy_details' + + def is_sharing_change_member_policy_details(self): + """ + Check if the union tag is ``sharing_change_member_policy_details``. + + :rtype: bool + """ + return self._tag == 'sharing_change_member_policy_details' + + def is_smart_sync_change_policy_details(self): + """ + Check if the union tag is ``smart_sync_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'smart_sync_change_policy_details' + + def is_sso_change_policy_details(self): + """ + Check if the union tag is ``sso_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'sso_change_policy_details' + + def is_tfa_change_policy_details(self): + """ + Check if the union tag is ``tfa_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'tfa_change_policy_details' + + def is_two_account_change_policy_details(self): + """ + Check if the union tag is ``two_account_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'two_account_change_policy_details' + + def is_web_sessions_change_fixed_length_policy_details(self): + """ + Check if the union tag is ``web_sessions_change_fixed_length_policy_details``. + + :rtype: bool + """ + return self._tag == 'web_sessions_change_fixed_length_policy_details' + + def is_web_sessions_change_idle_length_policy_details(self): + """ + Check if the union tag is ``web_sessions_change_idle_length_policy_details``. + + :rtype: bool + """ + return self._tag == 'web_sessions_change_idle_length_policy_details' + + def is_team_profile_add_logo_details(self): + """ + Check if the union tag is ``team_profile_add_logo_details``. + + :rtype: bool + """ + return self._tag == 'team_profile_add_logo_details' + + def is_team_profile_change_logo_details(self): + """ + Check if the union tag is ``team_profile_change_logo_details``. + + :rtype: bool + """ + return self._tag == 'team_profile_change_logo_details' + + def is_team_profile_change_name_details(self): + """ + Check if the union tag is ``team_profile_change_name_details``. + + :rtype: bool + """ + return self._tag == 'team_profile_change_name_details' + + def is_team_profile_remove_logo_details(self): + """ + Check if the union tag is ``team_profile_remove_logo_details``. + + :rtype: bool + """ + return self._tag == 'team_profile_remove_logo_details' + + def is_tfa_add_backup_phone_details(self): + """ + Check if the union tag is ``tfa_add_backup_phone_details``. + + :rtype: bool + """ + return self._tag == 'tfa_add_backup_phone_details' + + def is_tfa_add_security_key_details(self): + """ + Check if the union tag is ``tfa_add_security_key_details``. + + :rtype: bool + """ + return self._tag == 'tfa_add_security_key_details' + + def is_tfa_change_backup_phone_details(self): + """ + Check if the union tag is ``tfa_change_backup_phone_details``. + + :rtype: bool + """ + return self._tag == 'tfa_change_backup_phone_details' + + def is_tfa_change_status_details(self): + """ + Check if the union tag is ``tfa_change_status_details``. + + :rtype: bool + """ + return self._tag == 'tfa_change_status_details' + + def is_tfa_remove_backup_phone_details(self): + """ + Check if the union tag is ``tfa_remove_backup_phone_details``. + + :rtype: bool + """ + return self._tag == 'tfa_remove_backup_phone_details' + + def is_tfa_remove_security_key_details(self): + """ + Check if the union tag is ``tfa_remove_security_key_details``. + + :rtype: bool + """ + return self._tag == 'tfa_remove_security_key_details' + + def is_tfa_reset_details(self): + """ + Check if the union tag is ``tfa_reset_details``. + + :rtype: bool + """ + return self._tag == 'tfa_reset_details' + + def is_missing_details(self): + """ + Check if the union tag is ``missing_details``. + + :rtype: bool + """ + return self._tag == 'missing_details' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_member_change_membership_type_details(self): + """ + Changed the membership type (limited vs full) for team member. + + Only call this if :meth:`is_member_change_membership_type_details` is true. + + :rtype: MemberChangeMembershipTypeDetails + """ + if not self.is_member_change_membership_type_details(): + raise AttributeError("tag 'member_change_membership_type_details' not set") + return self._value + + def get_member_permanently_delete_account_contents_details(self): + """ + Permanently deleted contents of a removed team member account. + + Only call this if :meth:`is_member_permanently_delete_account_contents_details` is true. + + :rtype: MemberPermanentlyDeleteAccountContentsDetails + """ + if not self.is_member_permanently_delete_account_contents_details(): + raise AttributeError("tag 'member_permanently_delete_account_contents_details' not set") + return self._value + + def get_member_space_limits_change_status_details(self): + """ + Changed the status with respect to whether the team member is under or + over storage quota specified by policy. + + Only call this if :meth:`is_member_space_limits_change_status_details` is true. + + :rtype: MemberSpaceLimitsChangeStatusDetails + """ + if not self.is_member_space_limits_change_status_details(): + raise AttributeError("tag 'member_space_limits_change_status_details' not set") + return self._value + + def get_member_transfer_account_contents_details(self): + """ + Transferred contents of a removed team member account to another member. + + Only call this if :meth:`is_member_transfer_account_contents_details` is true. + + :rtype: MemberTransferAccountContentsDetails + """ + if not self.is_member_transfer_account_contents_details(): + raise AttributeError("tag 'member_transfer_account_contents_details' not set") + return self._value + + def get_paper_enabled_users_group_addition_details(self): + """ + Users added to Paper enabled users list. + + Only call this if :meth:`is_paper_enabled_users_group_addition_details` is true. + + :rtype: PaperEnabledUsersGroupAdditionDetails + """ + if not self.is_paper_enabled_users_group_addition_details(): + raise AttributeError("tag 'paper_enabled_users_group_addition_details' not set") + return self._value + + def get_paper_enabled_users_group_removal_details(self): + """ + Users removed from Paper enabled users list. + + Only call this if :meth:`is_paper_enabled_users_group_removal_details` is true. + + :rtype: PaperEnabledUsersGroupRemovalDetails + """ + if not self.is_paper_enabled_users_group_removal_details(): + raise AttributeError("tag 'paper_enabled_users_group_removal_details' not set") + return self._value + + def get_paper_external_view_allow_details(self): + """ + Paper external sharing policy changed: anyone. + + Only call this if :meth:`is_paper_external_view_allow_details` is true. + + :rtype: PaperExternalViewAllowDetails + """ + if not self.is_paper_external_view_allow_details(): + raise AttributeError("tag 'paper_external_view_allow_details' not set") + return self._value + + def get_paper_external_view_default_team_details(self): + """ + Paper external sharing policy changed: default team. + + Only call this if :meth:`is_paper_external_view_default_team_details` is true. + + :rtype: PaperExternalViewDefaultTeamDetails + """ + if not self.is_paper_external_view_default_team_details(): + raise AttributeError("tag 'paper_external_view_default_team_details' not set") + return self._value + + def get_paper_external_view_forbid_details(self): + """ + Paper external sharing policy changed: team-only. + + Only call this if :meth:`is_paper_external_view_forbid_details` is true. + + :rtype: PaperExternalViewForbidDetails + """ + if not self.is_paper_external_view_forbid_details(): + raise AttributeError("tag 'paper_external_view_forbid_details' not set") + return self._value + + def get_sf_external_invite_warn_details(self): + """ + Admin settings: team members see a warning before sharing folders + outside the team (DEPRECATED FEATURE). + + Only call this if :meth:`is_sf_external_invite_warn_details` is true. + + :rtype: SfExternalInviteWarnDetails + """ + if not self.is_sf_external_invite_warn_details(): + raise AttributeError("tag 'sf_external_invite_warn_details' not set") + return self._value + + def get_team_merge_details(self): + """ + Merged the team into another team. + + Only call this if :meth:`is_team_merge_details` is true. + + :rtype: TeamMergeDetails + """ + if not self.is_team_merge_details(): + raise AttributeError("tag 'team_merge_details' not set") + return self._value + + def get_app_link_team_details(self): + """ + Linked an app for team. + + Only call this if :meth:`is_app_link_team_details` is true. + + :rtype: AppLinkTeamDetails + """ + if not self.is_app_link_team_details(): + raise AttributeError("tag 'app_link_team_details' not set") + return self._value + + def get_app_link_user_details(self): + """ + Linked an app for team member. + + Only call this if :meth:`is_app_link_user_details` is true. + + :rtype: AppLinkUserDetails + """ + if not self.is_app_link_user_details(): + raise AttributeError("tag 'app_link_user_details' not set") + return self._value + + def get_app_unlink_team_details(self): + """ + Unlinked an app for team. + + Only call this if :meth:`is_app_unlink_team_details` is true. + + :rtype: AppUnlinkTeamDetails + """ + if not self.is_app_unlink_team_details(): + raise AttributeError("tag 'app_unlink_team_details' not set") + return self._value + + def get_app_unlink_user_details(self): + """ + Unlinked an app for team member. + + Only call this if :meth:`is_app_unlink_user_details` is true. + + :rtype: AppUnlinkUserDetails + """ + if not self.is_app_unlink_user_details(): + raise AttributeError("tag 'app_unlink_user_details' not set") + return self._value + + def get_device_change_ip_desktop_details(self): + """ + IP address associated with active desktop session changed. + + Only call this if :meth:`is_device_change_ip_desktop_details` is true. + + :rtype: DeviceChangeIpDesktopDetails + """ + if not self.is_device_change_ip_desktop_details(): + raise AttributeError("tag 'device_change_ip_desktop_details' not set") + return self._value + + def get_device_change_ip_mobile_details(self): + """ + IP address associated with active mobile session changed. + + Only call this if :meth:`is_device_change_ip_mobile_details` is true. + + :rtype: DeviceChangeIpMobileDetails + """ + if not self.is_device_change_ip_mobile_details(): + raise AttributeError("tag 'device_change_ip_mobile_details' not set") + return self._value + + def get_device_change_ip_web_details(self): + """ + IP address associated with active Web session changed. + + Only call this if :meth:`is_device_change_ip_web_details` is true. + + :rtype: DeviceChangeIpWebDetails + """ + if not self.is_device_change_ip_web_details(): + raise AttributeError("tag 'device_change_ip_web_details' not set") + return self._value + + def get_device_delete_on_unlink_fail_details(self): + """ + Failed to delete all files from an unlinked device. + + Only call this if :meth:`is_device_delete_on_unlink_fail_details` is true. + + :rtype: DeviceDeleteOnUnlinkFailDetails + """ + if not self.is_device_delete_on_unlink_fail_details(): + raise AttributeError("tag 'device_delete_on_unlink_fail_details' not set") + return self._value + + def get_device_delete_on_unlink_success_details(self): + """ + Deleted all files from an unlinked device. + + Only call this if :meth:`is_device_delete_on_unlink_success_details` is true. + + :rtype: DeviceDeleteOnUnlinkSuccessDetails + """ + if not self.is_device_delete_on_unlink_success_details(): + raise AttributeError("tag 'device_delete_on_unlink_success_details' not set") + return self._value + + def get_device_link_fail_details(self): + """ + Failed to link a device. + + Only call this if :meth:`is_device_link_fail_details` is true. + + :rtype: DeviceLinkFailDetails + """ + if not self.is_device_link_fail_details(): + raise AttributeError("tag 'device_link_fail_details' not set") + return self._value + + def get_device_link_success_details(self): + """ + Linked a device. + + Only call this if :meth:`is_device_link_success_details` is true. + + :rtype: DeviceLinkSuccessDetails + """ + if not self.is_device_link_success_details(): + raise AttributeError("tag 'device_link_success_details' not set") + return self._value + + def get_device_management_disabled_details(self): + """ + Disable Device Management. + + Only call this if :meth:`is_device_management_disabled_details` is true. + + :rtype: DeviceManagementDisabledDetails + """ + if not self.is_device_management_disabled_details(): + raise AttributeError("tag 'device_management_disabled_details' not set") + return self._value + + def get_device_management_enabled_details(self): + """ + Enable Device Management. + + Only call this if :meth:`is_device_management_enabled_details` is true. + + :rtype: DeviceManagementEnabledDetails + """ + if not self.is_device_management_enabled_details(): + raise AttributeError("tag 'device_management_enabled_details' not set") + return self._value + + def get_device_unlink_details(self): + """ + Disconnected a device. + + Only call this if :meth:`is_device_unlink_details` is true. + + :rtype: DeviceUnlinkDetails + """ + if not self.is_device_unlink_details(): + raise AttributeError("tag 'device_unlink_details' not set") + return self._value + + def get_emm_refresh_auth_token_details(self): + """ + Refreshed the auth token used for setting up enterprise mobility + management. + + Only call this if :meth:`is_emm_refresh_auth_token_details` is true. + + :rtype: EmmRefreshAuthTokenDetails + """ + if not self.is_emm_refresh_auth_token_details(): + raise AttributeError("tag 'emm_refresh_auth_token_details' not set") + return self._value + + def get_account_capture_change_availability_details(self): + """ + Granted or revoked the option to enable account capture on domains + belonging to the team. + + Only call this if :meth:`is_account_capture_change_availability_details` is true. + + :rtype: AccountCaptureChangeAvailabilityDetails + """ + if not self.is_account_capture_change_availability_details(): + raise AttributeError("tag 'account_capture_change_availability_details' not set") + return self._value + + def get_account_capture_migrate_account_details(self): + """ + Account captured user migrated their account to the team. + + Only call this if :meth:`is_account_capture_migrate_account_details` is true. + + :rtype: AccountCaptureMigrateAccountDetails + """ + if not self.is_account_capture_migrate_account_details(): + raise AttributeError("tag 'account_capture_migrate_account_details' not set") + return self._value + + def get_account_capture_relinquish_account_details(self): + """ + Account captured user relinquished their account by changing the email + address associated with it. + + Only call this if :meth:`is_account_capture_relinquish_account_details` is true. + + :rtype: AccountCaptureRelinquishAccountDetails + """ + if not self.is_account_capture_relinquish_account_details(): + raise AttributeError("tag 'account_capture_relinquish_account_details' not set") + return self._value + + def get_disabled_domain_invites_details(self): + """ + Disabled domain invites. + + Only call this if :meth:`is_disabled_domain_invites_details` is true. + + :rtype: DisabledDomainInvitesDetails + """ + if not self.is_disabled_domain_invites_details(): + raise AttributeError("tag 'disabled_domain_invites_details' not set") + return self._value + + def get_domain_invites_approve_request_to_join_team_details(self): + """ + Approved a member's request to join the team. + + Only call this if :meth:`is_domain_invites_approve_request_to_join_team_details` is true. + + :rtype: DomainInvitesApproveRequestToJoinTeamDetails + """ + if not self.is_domain_invites_approve_request_to_join_team_details(): + raise AttributeError("tag 'domain_invites_approve_request_to_join_team_details' not set") + return self._value + + def get_domain_invites_decline_request_to_join_team_details(self): + """ + Declined a user's request to join the team. + + Only call this if :meth:`is_domain_invites_decline_request_to_join_team_details` is true. + + :rtype: DomainInvitesDeclineRequestToJoinTeamDetails + """ + if not self.is_domain_invites_decline_request_to_join_team_details(): + raise AttributeError("tag 'domain_invites_decline_request_to_join_team_details' not set") + return self._value + + def get_domain_invites_email_existing_users_details(self): + """ + Sent domain invites to existing domain accounts. + + Only call this if :meth:`is_domain_invites_email_existing_users_details` is true. + + :rtype: DomainInvitesEmailExistingUsersDetails + """ + if not self.is_domain_invites_email_existing_users_details(): + raise AttributeError("tag 'domain_invites_email_existing_users_details' not set") + return self._value + + def get_domain_invites_request_to_join_team_details(self): + """ + Asked to join the team. + + Only call this if :meth:`is_domain_invites_request_to_join_team_details` is true. + + :rtype: DomainInvitesRequestToJoinTeamDetails + """ + if not self.is_domain_invites_request_to_join_team_details(): + raise AttributeError("tag 'domain_invites_request_to_join_team_details' not set") + return self._value + + def get_domain_invites_set_invite_new_user_pref_to_no_details(self): + """ + Turned off u201cAutomatically invite new usersu201d. + + Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_no_details` is true. + + :rtype: DomainInvitesSetInviteNewUserPrefToNoDetails + """ + if not self.is_domain_invites_set_invite_new_user_pref_to_no_details(): + raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_no_details' not set") + return self._value + + def get_domain_invites_set_invite_new_user_pref_to_yes_details(self): + """ + Turned on u201cAutomatically invite new usersu201d. + + Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_yes_details` is true. + + :rtype: DomainInvitesSetInviteNewUserPrefToYesDetails + """ + if not self.is_domain_invites_set_invite_new_user_pref_to_yes_details(): + raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_yes_details' not set") + return self._value + + def get_domain_verification_add_domain_fail_details(self): + """ + Failed to verify a domain belonging to the team. + + Only call this if :meth:`is_domain_verification_add_domain_fail_details` is true. + + :rtype: DomainVerificationAddDomainFailDetails + """ + if not self.is_domain_verification_add_domain_fail_details(): + raise AttributeError("tag 'domain_verification_add_domain_fail_details' not set") + return self._value + + def get_domain_verification_add_domain_success_details(self): + """ + Verified a domain belonging to the team. + + Only call this if :meth:`is_domain_verification_add_domain_success_details` is true. + + :rtype: DomainVerificationAddDomainSuccessDetails + """ + if not self.is_domain_verification_add_domain_success_details(): + raise AttributeError("tag 'domain_verification_add_domain_success_details' not set") + return self._value + + def get_domain_verification_remove_domain_details(self): + """ + Removed a domain from the list of verified domains belonging to the + team. + + Only call this if :meth:`is_domain_verification_remove_domain_details` is true. + + :rtype: DomainVerificationRemoveDomainDetails + """ + if not self.is_domain_verification_remove_domain_details(): + raise AttributeError("tag 'domain_verification_remove_domain_details' not set") + return self._value + + def get_enabled_domain_invites_details(self): + """ + Enabled domain invites. + + Only call this if :meth:`is_enabled_domain_invites_details` is true. + + :rtype: EnabledDomainInvitesDetails + """ + if not self.is_enabled_domain_invites_details(): + raise AttributeError("tag 'enabled_domain_invites_details' not set") + return self._value + + def get_create_folder_details(self): + """ + Created folders. + + Only call this if :meth:`is_create_folder_details` is true. + + :rtype: CreateFolderDetails + """ + if not self.is_create_folder_details(): + raise AttributeError("tag 'create_folder_details' not set") + return self._value + + def get_file_add_details(self): + """ + Added files and/or folders. + + Only call this if :meth:`is_file_add_details` is true. + + :rtype: FileAddDetails + """ + if not self.is_file_add_details(): + raise AttributeError("tag 'file_add_details' not set") + return self._value + + def get_file_copy_details(self): + """ + Copied files and/or folders. + + Only call this if :meth:`is_file_copy_details` is true. + + :rtype: FileCopyDetails + """ + if not self.is_file_copy_details(): + raise AttributeError("tag 'file_copy_details' not set") + return self._value + + def get_file_delete_details(self): + """ + Deleted files and/or folders. + + Only call this if :meth:`is_file_delete_details` is true. + + :rtype: FileDeleteDetails + """ + if not self.is_file_delete_details(): + raise AttributeError("tag 'file_delete_details' not set") + return self._value + + def get_file_download_details(self): + """ + Downloaded files and/or folders. + + Only call this if :meth:`is_file_download_details` is true. + + :rtype: FileDownloadDetails + """ + if not self.is_file_download_details(): + raise AttributeError("tag 'file_download_details' not set") + return self._value + + def get_file_edit_details(self): + """ + Edited files. + + Only call this if :meth:`is_file_edit_details` is true. + + :rtype: FileEditDetails + """ + if not self.is_file_edit_details(): + raise AttributeError("tag 'file_edit_details' not set") + return self._value + + def get_file_get_copy_reference_details(self): + """ + Create a copy reference to a file or folder. + + Only call this if :meth:`is_file_get_copy_reference_details` is true. + + :rtype: FileGetCopyReferenceDetails + """ + if not self.is_file_get_copy_reference_details(): + raise AttributeError("tag 'file_get_copy_reference_details' not set") + return self._value + + def get_file_move_details(self): + """ + Moved files and/or folders. + + Only call this if :meth:`is_file_move_details` is true. + + :rtype: FileMoveDetails + """ + if not self.is_file_move_details(): + raise AttributeError("tag 'file_move_details' not set") + return self._value + + def get_file_permanently_delete_details(self): + """ + Permanently deleted files and/or folders. + + Only call this if :meth:`is_file_permanently_delete_details` is true. + + :rtype: FilePermanentlyDeleteDetails + """ + if not self.is_file_permanently_delete_details(): + raise AttributeError("tag 'file_permanently_delete_details' not set") + return self._value + + def get_file_preview_details(self): + """ + Previewed files and/or folders. + + Only call this if :meth:`is_file_preview_details` is true. + + :rtype: FilePreviewDetails + """ + if not self.is_file_preview_details(): + raise AttributeError("tag 'file_preview_details' not set") + return self._value + + def get_file_rename_details(self): + """ + Renamed files and/or folders. + + Only call this if :meth:`is_file_rename_details` is true. + + :rtype: FileRenameDetails + """ + if not self.is_file_rename_details(): + raise AttributeError("tag 'file_rename_details' not set") + return self._value + + def get_file_restore_details(self): + """ + Restored deleted files and/or folders. + + Only call this if :meth:`is_file_restore_details` is true. + + :rtype: FileRestoreDetails + """ + if not self.is_file_restore_details(): + raise AttributeError("tag 'file_restore_details' not set") + return self._value + + def get_file_revert_details(self): + """ + Reverted files to a previous version. + + Only call this if :meth:`is_file_revert_details` is true. + + :rtype: FileRevertDetails + """ + if not self.is_file_revert_details(): + raise AttributeError("tag 'file_revert_details' not set") + return self._value + + def get_file_rollback_changes_details(self): + """ + Rolled back file change location changes. + + Only call this if :meth:`is_file_rollback_changes_details` is true. + + :rtype: FileRollbackChangesDetails + """ + if not self.is_file_rollback_changes_details(): + raise AttributeError("tag 'file_rollback_changes_details' not set") + return self._value + + def get_file_save_copy_reference_details(self): + """ + Save a file or folder using a copy reference. + + Only call this if :meth:`is_file_save_copy_reference_details` is true. + + :rtype: FileSaveCopyReferenceDetails + """ + if not self.is_file_save_copy_reference_details(): + raise AttributeError("tag 'file_save_copy_reference_details' not set") + return self._value + + def get_file_request_add_deadline_details(self): + """ + Added a deadline to a file request. + + Only call this if :meth:`is_file_request_add_deadline_details` is true. + + :rtype: FileRequestAddDeadlineDetails + """ + if not self.is_file_request_add_deadline_details(): + raise AttributeError("tag 'file_request_add_deadline_details' not set") + return self._value + + def get_file_request_change_folder_details(self): + """ + Changed the file request folder. + + Only call this if :meth:`is_file_request_change_folder_details` is true. + + :rtype: FileRequestChangeFolderDetails + """ + if not self.is_file_request_change_folder_details(): + raise AttributeError("tag 'file_request_change_folder_details' not set") + return self._value + + def get_file_request_change_title_details(self): + """ + Change the file request title. + + Only call this if :meth:`is_file_request_change_title_details` is true. + + :rtype: FileRequestChangeTitleDetails + """ + if not self.is_file_request_change_title_details(): + raise AttributeError("tag 'file_request_change_title_details' not set") + return self._value + + def get_file_request_close_details(self): + """ + Closed a file request. + + Only call this if :meth:`is_file_request_close_details` is true. + + :rtype: FileRequestCloseDetails + """ + if not self.is_file_request_close_details(): + raise AttributeError("tag 'file_request_close_details' not set") + return self._value + + def get_file_request_create_details(self): + """ + Created a file request. + + Only call this if :meth:`is_file_request_create_details` is true. + + :rtype: FileRequestCreateDetails + """ + if not self.is_file_request_create_details(): + raise AttributeError("tag 'file_request_create_details' not set") + return self._value + + def get_file_request_receive_file_details(self): + """ + Received files for a file request. + + Only call this if :meth:`is_file_request_receive_file_details` is true. + + :rtype: FileRequestReceiveFileDetails + """ + if not self.is_file_request_receive_file_details(): + raise AttributeError("tag 'file_request_receive_file_details' not set") + return self._value + + def get_file_request_remove_deadline_details(self): + """ + Removed the file request deadline. + + Only call this if :meth:`is_file_request_remove_deadline_details` is true. + + :rtype: FileRequestRemoveDeadlineDetails + """ + if not self.is_file_request_remove_deadline_details(): + raise AttributeError("tag 'file_request_remove_deadline_details' not set") + return self._value + + def get_file_request_send_details(self): + """ + Sent file request to users via email. + + Only call this if :meth:`is_file_request_send_details` is true. + + :rtype: FileRequestSendDetails + """ + if not self.is_file_request_send_details(): + raise AttributeError("tag 'file_request_send_details' not set") + return self._value + + def get_group_add_external_id_details(self): + """ + Added an external ID for group. + + Only call this if :meth:`is_group_add_external_id_details` is true. + + :rtype: GroupAddExternalIdDetails + """ + if not self.is_group_add_external_id_details(): + raise AttributeError("tag 'group_add_external_id_details' not set") + return self._value + + def get_group_add_member_details(self): + """ + Added team members to a group. + + Only call this if :meth:`is_group_add_member_details` is true. + + :rtype: GroupAddMemberDetails + """ + if not self.is_group_add_member_details(): + raise AttributeError("tag 'group_add_member_details' not set") + return self._value + + def get_group_change_external_id_details(self): + """ + Changed the external ID for group. + + Only call this if :meth:`is_group_change_external_id_details` is true. + + :rtype: GroupChangeExternalIdDetails + """ + if not self.is_group_change_external_id_details(): + raise AttributeError("tag 'group_change_external_id_details' not set") + return self._value + + def get_group_change_management_type_details(self): + """ + Changed group management type. + + Only call this if :meth:`is_group_change_management_type_details` is true. + + :rtype: GroupChangeManagementTypeDetails + """ + if not self.is_group_change_management_type_details(): + raise AttributeError("tag 'group_change_management_type_details' not set") + return self._value + + def get_group_change_member_role_details(self): + """ + Changed the manager permissions belonging to a group member. + + Only call this if :meth:`is_group_change_member_role_details` is true. + + :rtype: GroupChangeMemberRoleDetails + """ + if not self.is_group_change_member_role_details(): + raise AttributeError("tag 'group_change_member_role_details' not set") + return self._value + + def get_group_create_details(self): + """ + Created a group. + + Only call this if :meth:`is_group_create_details` is true. + + :rtype: GroupCreateDetails + """ + if not self.is_group_create_details(): + raise AttributeError("tag 'group_create_details' not set") + return self._value + + def get_group_delete_details(self): + """ + Deleted a group. + + Only call this if :meth:`is_group_delete_details` is true. + + :rtype: GroupDeleteDetails + """ + if not self.is_group_delete_details(): + raise AttributeError("tag 'group_delete_details' not set") + return self._value + + def get_group_description_updated_details(self): + """ + Updated a group. + + Only call this if :meth:`is_group_description_updated_details` is true. + + :rtype: GroupDescriptionUpdatedDetails + """ + if not self.is_group_description_updated_details(): + raise AttributeError("tag 'group_description_updated_details' not set") + return self._value + + def get_group_join_policy_updated_details(self): + """ + Updated a group join policy. + + Only call this if :meth:`is_group_join_policy_updated_details` is true. + + :rtype: GroupJoinPolicyUpdatedDetails + """ + if not self.is_group_join_policy_updated_details(): + raise AttributeError("tag 'group_join_policy_updated_details' not set") + return self._value + + def get_group_moved_details(self): + """ + Moved a group. + + Only call this if :meth:`is_group_moved_details` is true. + + :rtype: GroupMovedDetails + """ + if not self.is_group_moved_details(): + raise AttributeError("tag 'group_moved_details' not set") + return self._value + + def get_group_remove_external_id_details(self): + """ + Removed the external ID for group. + + Only call this if :meth:`is_group_remove_external_id_details` is true. + + :rtype: GroupRemoveExternalIdDetails + """ + if not self.is_group_remove_external_id_details(): + raise AttributeError("tag 'group_remove_external_id_details' not set") + return self._value + + def get_group_remove_member_details(self): + """ + Removed team members from a group. + + Only call this if :meth:`is_group_remove_member_details` is true. + + :rtype: GroupRemoveMemberDetails + """ + if not self.is_group_remove_member_details(): + raise AttributeError("tag 'group_remove_member_details' not set") + return self._value + + def get_group_rename_details(self): + """ + Renamed a group. + + Only call this if :meth:`is_group_rename_details` is true. + + :rtype: GroupRenameDetails + """ + if not self.is_group_rename_details(): + raise AttributeError("tag 'group_rename_details' not set") + return self._value + + def get_emm_login_success_details(self): + """ + Signed in using the Dropbox EMM app. + + Only call this if :meth:`is_emm_login_success_details` is true. + + :rtype: EmmLoginSuccessDetails + """ + if not self.is_emm_login_success_details(): + raise AttributeError("tag 'emm_login_success_details' not set") + return self._value + + def get_logout_details(self): + """ + Signed out. + + Only call this if :meth:`is_logout_details` is true. + + :rtype: LogoutDetails + """ + if not self.is_logout_details(): + raise AttributeError("tag 'logout_details' not set") + return self._value + + def get_password_login_fail_details(self): + """ + Failed to sign in using a password. + + Only call this if :meth:`is_password_login_fail_details` is true. + + :rtype: PasswordLoginFailDetails + """ + if not self.is_password_login_fail_details(): + raise AttributeError("tag 'password_login_fail_details' not set") + return self._value + + def get_password_login_success_details(self): + """ + Signed in using a password. + + Only call this if :meth:`is_password_login_success_details` is true. + + :rtype: PasswordLoginSuccessDetails + """ + if not self.is_password_login_success_details(): + raise AttributeError("tag 'password_login_success_details' not set") + return self._value + + def get_reseller_support_session_end_details(self): + """ + Ended reseller support session. + + Only call this if :meth:`is_reseller_support_session_end_details` is true. + + :rtype: ResellerSupportSessionEndDetails + """ + if not self.is_reseller_support_session_end_details(): + raise AttributeError("tag 'reseller_support_session_end_details' not set") + return self._value + + def get_reseller_support_session_start_details(self): + """ + Started reseller support session. + + Only call this if :meth:`is_reseller_support_session_start_details` is true. + + :rtype: ResellerSupportSessionStartDetails + """ + if not self.is_reseller_support_session_start_details(): + raise AttributeError("tag 'reseller_support_session_start_details' not set") + return self._value + + def get_sign_in_as_session_end_details(self): + """ + Ended admin sign-in-as session. + + Only call this if :meth:`is_sign_in_as_session_end_details` is true. + + :rtype: SignInAsSessionEndDetails + """ + if not self.is_sign_in_as_session_end_details(): + raise AttributeError("tag 'sign_in_as_session_end_details' not set") + return self._value + + def get_sign_in_as_session_start_details(self): + """ + Started admin sign-in-as session. + + Only call this if :meth:`is_sign_in_as_session_start_details` is true. + + :rtype: SignInAsSessionStartDetails + """ + if not self.is_sign_in_as_session_start_details(): + raise AttributeError("tag 'sign_in_as_session_start_details' not set") + return self._value + + def get_sso_login_fail_details(self): + """ + Failed to sign in using SSO. + + Only call this if :meth:`is_sso_login_fail_details` is true. + + :rtype: SsoLoginFailDetails + """ + if not self.is_sso_login_fail_details(): + raise AttributeError("tag 'sso_login_fail_details' not set") + return self._value + + def get_member_add_name_details(self): + """ + Set team member name when joining team. + + Only call this if :meth:`is_member_add_name_details` is true. + + :rtype: MemberAddNameDetails + """ + if not self.is_member_add_name_details(): + raise AttributeError("tag 'member_add_name_details' not set") + return self._value + + def get_member_change_email_details(self): + """ + Changed team member email address. + + Only call this if :meth:`is_member_change_email_details` is true. + + :rtype: MemberChangeEmailDetails + """ + if not self.is_member_change_email_details(): + raise AttributeError("tag 'member_change_email_details' not set") + return self._value + + def get_member_change_name_details(self): + """ + Changed team member name. + + Only call this if :meth:`is_member_change_name_details` is true. + + :rtype: MemberChangeNameDetails + """ + if not self.is_member_change_name_details(): + raise AttributeError("tag 'member_change_name_details' not set") + return self._value + + def get_member_change_role_details(self): + """ + Change the admin permissions belonging to team member. + + Only call this if :meth:`is_member_change_role_details` is true. + + :rtype: MemberChangeRoleDetails + """ + if not self.is_member_change_role_details(): + raise AttributeError("tag 'member_change_role_details' not set") + return self._value + + def get_member_invite_details(self): + """ + Invited a user to join the team. + + Only call this if :meth:`is_member_invite_details` is true. + + :rtype: MemberInviteDetails + """ + if not self.is_member_invite_details(): + raise AttributeError("tag 'member_invite_details' not set") + return self._value + + def get_member_join_details(self): + """ + Joined the team. + + Only call this if :meth:`is_member_join_details` is true. + + :rtype: MemberJoinDetails + """ + if not self.is_member_join_details(): + raise AttributeError("tag 'member_join_details' not set") + return self._value + + def get_member_leave_details(self): + """ + Removed a team member. + + Only call this if :meth:`is_member_leave_details` is true. + + :rtype: MemberLeaveDetails + """ + if not self.is_member_leave_details(): + raise AttributeError("tag 'member_leave_details' not set") + return self._value + + def get_member_recover_details(self): + """ + Recovered a removed member. + + Only call this if :meth:`is_member_recover_details` is true. + + :rtype: MemberRecoverDetails + """ + if not self.is_member_recover_details(): + raise AttributeError("tag 'member_recover_details' not set") + return self._value + + def get_member_suggest_details(self): + """ + Suggested a new team member to be added to the team. + + Only call this if :meth:`is_member_suggest_details` is true. + + :rtype: MemberSuggestDetails + """ + if not self.is_member_suggest_details(): + raise AttributeError("tag 'member_suggest_details' not set") + return self._value + + def get_member_suspend_details(self): + """ + Suspended a team member. + + Only call this if :meth:`is_member_suspend_details` is true. + + :rtype: MemberSuspendDetails + """ + if not self.is_member_suspend_details(): + raise AttributeError("tag 'member_suspend_details' not set") + return self._value + + def get_member_unsuspend_details(self): + """ + Unsuspended a team member. + + Only call this if :meth:`is_member_unsuspend_details` is true. + + :rtype: MemberUnsuspendDetails + """ + if not self.is_member_unsuspend_details(): + raise AttributeError("tag 'member_unsuspend_details' not set") + return self._value + + def get_paper_content_add_member_details(self): + """ + Added users to the membership of a Paper doc or folder. + + Only call this if :meth:`is_paper_content_add_member_details` is true. + + :rtype: PaperContentAddMemberDetails + """ + if not self.is_paper_content_add_member_details(): + raise AttributeError("tag 'paper_content_add_member_details' not set") + return self._value + + def get_paper_content_add_to_folder_details(self): + """ + Added Paper doc or folder to a folder. + + Only call this if :meth:`is_paper_content_add_to_folder_details` is true. + + :rtype: PaperContentAddToFolderDetails + """ + if not self.is_paper_content_add_to_folder_details(): + raise AttributeError("tag 'paper_content_add_to_folder_details' not set") + return self._value + + def get_paper_content_archive_details(self): + """ + Archived Paper doc or folder. + + Only call this if :meth:`is_paper_content_archive_details` is true. + + :rtype: PaperContentArchiveDetails + """ + if not self.is_paper_content_archive_details(): + raise AttributeError("tag 'paper_content_archive_details' not set") + return self._value + + def get_paper_content_change_subscription_details(self): + """ + Followed or unfollowed a Paper doc or folder. + + Only call this if :meth:`is_paper_content_change_subscription_details` is true. + + :rtype: PaperContentChangeSubscriptionDetails + """ + if not self.is_paper_content_change_subscription_details(): + raise AttributeError("tag 'paper_content_change_subscription_details' not set") + return self._value + + def get_paper_content_create_details(self): + """ + Created a Paper doc or folder. + + Only call this if :meth:`is_paper_content_create_details` is true. + + :rtype: PaperContentCreateDetails + """ + if not self.is_paper_content_create_details(): + raise AttributeError("tag 'paper_content_create_details' not set") + return self._value + + def get_paper_content_permanently_delete_details(self): + """ + Permanently deleted a Paper doc or folder. + + Only call this if :meth:`is_paper_content_permanently_delete_details` is true. + + :rtype: PaperContentPermanentlyDeleteDetails + """ + if not self.is_paper_content_permanently_delete_details(): + raise AttributeError("tag 'paper_content_permanently_delete_details' not set") + return self._value + + def get_paper_content_remove_from_folder_details(self): + """ + Removed Paper doc or folder from a folder. + + Only call this if :meth:`is_paper_content_remove_from_folder_details` is true. + + :rtype: PaperContentRemoveFromFolderDetails + """ + if not self.is_paper_content_remove_from_folder_details(): + raise AttributeError("tag 'paper_content_remove_from_folder_details' not set") + return self._value + + def get_paper_content_remove_member_details(self): + """ + Removed a user from the membership of a Paper doc or folder. + + Only call this if :meth:`is_paper_content_remove_member_details` is true. + + :rtype: PaperContentRemoveMemberDetails + """ + if not self.is_paper_content_remove_member_details(): + raise AttributeError("tag 'paper_content_remove_member_details' not set") + return self._value + + def get_paper_content_rename_details(self): + """ + Renamed Paper doc or folder. + + Only call this if :meth:`is_paper_content_rename_details` is true. + + :rtype: PaperContentRenameDetails + """ + if not self.is_paper_content_rename_details(): + raise AttributeError("tag 'paper_content_rename_details' not set") + return self._value + + def get_paper_content_restore_details(self): + """ + Restored an archived Paper doc or folder. + + Only call this if :meth:`is_paper_content_restore_details` is true. + + :rtype: PaperContentRestoreDetails + """ + if not self.is_paper_content_restore_details(): + raise AttributeError("tag 'paper_content_restore_details' not set") + return self._value + + def get_paper_doc_add_comment_details(self): + """ + Added a Paper doc comment. + + Only call this if :meth:`is_paper_doc_add_comment_details` is true. + + :rtype: PaperDocAddCommentDetails + """ + if not self.is_paper_doc_add_comment_details(): + raise AttributeError("tag 'paper_doc_add_comment_details' not set") + return self._value + + def get_paper_doc_change_member_role_details(self): + """ + Changed the access type of a Paper doc member. + + Only call this if :meth:`is_paper_doc_change_member_role_details` is true. + + :rtype: PaperDocChangeMemberRoleDetails + """ + if not self.is_paper_doc_change_member_role_details(): + raise AttributeError("tag 'paper_doc_change_member_role_details' not set") + return self._value + + def get_paper_doc_change_sharing_policy_details(self): + """ + Changed the sharing policy for Paper doc. + + Only call this if :meth:`is_paper_doc_change_sharing_policy_details` is true. + + :rtype: PaperDocChangeSharingPolicyDetails + """ + if not self.is_paper_doc_change_sharing_policy_details(): + raise AttributeError("tag 'paper_doc_change_sharing_policy_details' not set") + return self._value + + def get_paper_doc_deleted_details(self): + """ + Paper doc archived. + + Only call this if :meth:`is_paper_doc_deleted_details` is true. + + :rtype: PaperDocDeletedDetails + """ + if not self.is_paper_doc_deleted_details(): + raise AttributeError("tag 'paper_doc_deleted_details' not set") + return self._value + + def get_paper_doc_delete_comment_details(self): + """ + Deleted a Paper doc comment. + + Only call this if :meth:`is_paper_doc_delete_comment_details` is true. + + :rtype: PaperDocDeleteCommentDetails + """ + if not self.is_paper_doc_delete_comment_details(): + raise AttributeError("tag 'paper_doc_delete_comment_details' not set") + return self._value + + def get_paper_doc_download_details(self): + """ + Downloaded a Paper doc in a particular output format. + + Only call this if :meth:`is_paper_doc_download_details` is true. + + :rtype: PaperDocDownloadDetails + """ + if not self.is_paper_doc_download_details(): + raise AttributeError("tag 'paper_doc_download_details' not set") + return self._value + + def get_paper_doc_edit_details(self): + """ + Edited a Paper doc. + + Only call this if :meth:`is_paper_doc_edit_details` is true. + + :rtype: PaperDocEditDetails + """ + if not self.is_paper_doc_edit_details(): + raise AttributeError("tag 'paper_doc_edit_details' not set") + return self._value + + def get_paper_doc_edit_comment_details(self): + """ + Edited a Paper doc comment. + + Only call this if :meth:`is_paper_doc_edit_comment_details` is true. + + :rtype: PaperDocEditCommentDetails + """ + if not self.is_paper_doc_edit_comment_details(): + raise AttributeError("tag 'paper_doc_edit_comment_details' not set") + return self._value + + def get_paper_doc_followed_details(self): + """ + Followed a Paper doc. + + Only call this if :meth:`is_paper_doc_followed_details` is true. + + :rtype: PaperDocFollowedDetails + """ + if not self.is_paper_doc_followed_details(): + raise AttributeError("tag 'paper_doc_followed_details' not set") + return self._value + + def get_paper_doc_mention_details(self): + """ + Mentioned a member in a Paper doc. + + Only call this if :meth:`is_paper_doc_mention_details` is true. + + :rtype: PaperDocMentionDetails + """ + if not self.is_paper_doc_mention_details(): + raise AttributeError("tag 'paper_doc_mention_details' not set") + return self._value + + def get_paper_doc_request_access_details(self): + """ + Requested to be a member on a Paper doc. + + Only call this if :meth:`is_paper_doc_request_access_details` is true. + + :rtype: PaperDocRequestAccessDetails + """ + if not self.is_paper_doc_request_access_details(): + raise AttributeError("tag 'paper_doc_request_access_details' not set") + return self._value + + def get_paper_doc_resolve_comment_details(self): + """ + Paper doc comment resolved. + + Only call this if :meth:`is_paper_doc_resolve_comment_details` is true. + + :rtype: PaperDocResolveCommentDetails + """ + if not self.is_paper_doc_resolve_comment_details(): + raise AttributeError("tag 'paper_doc_resolve_comment_details' not set") + return self._value + + def get_paper_doc_revert_details(self): + """ + Restored a Paper doc to previous revision. + + Only call this if :meth:`is_paper_doc_revert_details` is true. + + :rtype: PaperDocRevertDetails + """ + if not self.is_paper_doc_revert_details(): + raise AttributeError("tag 'paper_doc_revert_details' not set") + return self._value + + def get_paper_doc_slack_share_details(self): + """ + Paper doc link shared via slack. + + Only call this if :meth:`is_paper_doc_slack_share_details` is true. + + :rtype: PaperDocSlackShareDetails + """ + if not self.is_paper_doc_slack_share_details(): + raise AttributeError("tag 'paper_doc_slack_share_details' not set") + return self._value + + def get_paper_doc_team_invite_details(self): + """ + Paper doc shared with team member. + + Only call this if :meth:`is_paper_doc_team_invite_details` is true. + + :rtype: PaperDocTeamInviteDetails + """ + if not self.is_paper_doc_team_invite_details(): + raise AttributeError("tag 'paper_doc_team_invite_details' not set") + return self._value + + def get_paper_doc_unresolve_comment_details(self): + """ + Unresolved a Paper doc comment. + + Only call this if :meth:`is_paper_doc_unresolve_comment_details` is true. + + :rtype: PaperDocUnresolveCommentDetails + """ + if not self.is_paper_doc_unresolve_comment_details(): + raise AttributeError("tag 'paper_doc_unresolve_comment_details' not set") + return self._value + + def get_paper_doc_view_details(self): + """ + Viewed Paper doc. + + Only call this if :meth:`is_paper_doc_view_details` is true. + + :rtype: PaperDocViewDetails + """ + if not self.is_paper_doc_view_details(): + raise AttributeError("tag 'paper_doc_view_details' not set") + return self._value + + def get_paper_folder_deleted_details(self): + """ + Paper folder archived. + + Only call this if :meth:`is_paper_folder_deleted_details` is true. + + :rtype: PaperFolderDeletedDetails + """ + if not self.is_paper_folder_deleted_details(): + raise AttributeError("tag 'paper_folder_deleted_details' not set") + return self._value + + def get_paper_folder_followed_details(self): + """ + Followed a Paper folder. + + Only call this if :meth:`is_paper_folder_followed_details` is true. + + :rtype: PaperFolderFollowedDetails + """ + if not self.is_paper_folder_followed_details(): + raise AttributeError("tag 'paper_folder_followed_details' not set") + return self._value + + def get_paper_folder_team_invite_details(self): + """ + Paper folder shared with team member. + + Only call this if :meth:`is_paper_folder_team_invite_details` is true. + + :rtype: PaperFolderTeamInviteDetails + """ + if not self.is_paper_folder_team_invite_details(): + raise AttributeError("tag 'paper_folder_team_invite_details' not set") + return self._value + + def get_password_change_details(self): + """ + Changed password. + + Only call this if :meth:`is_password_change_details` is true. + + :rtype: PasswordChangeDetails + """ + if not self.is_password_change_details(): + raise AttributeError("tag 'password_change_details' not set") + return self._value + + def get_password_reset_details(self): + """ + Reset password. + + Only call this if :meth:`is_password_reset_details` is true. + + :rtype: PasswordResetDetails + """ + if not self.is_password_reset_details(): + raise AttributeError("tag 'password_reset_details' not set") + return self._value + + def get_password_reset_all_details(self): + """ + Reset all team member passwords. + + Only call this if :meth:`is_password_reset_all_details` is true. + + :rtype: PasswordResetAllDetails + """ + if not self.is_password_reset_all_details(): + raise AttributeError("tag 'password_reset_all_details' not set") + return self._value + + def get_emm_create_exceptions_report_details(self): + """ + EMM excluded users report created. + + Only call this if :meth:`is_emm_create_exceptions_report_details` is true. + + :rtype: EmmCreateExceptionsReportDetails + """ + if not self.is_emm_create_exceptions_report_details(): + raise AttributeError("tag 'emm_create_exceptions_report_details' not set") + return self._value + + def get_emm_create_usage_report_details(self): + """ + EMM mobile app usage report created. + + Only call this if :meth:`is_emm_create_usage_report_details` is true. + + :rtype: EmmCreateUsageReportDetails + """ + if not self.is_emm_create_usage_report_details(): + raise AttributeError("tag 'emm_create_usage_report_details' not set") + return self._value + + def get_smart_sync_create_admin_privilege_report_details(self): + """ + Smart Sync non-admin devices report created. + + Only call this if :meth:`is_smart_sync_create_admin_privilege_report_details` is true. + + :rtype: SmartSyncCreateAdminPrivilegeReportDetails + """ + if not self.is_smart_sync_create_admin_privilege_report_details(): + raise AttributeError("tag 'smart_sync_create_admin_privilege_report_details' not set") + return self._value + + def get_team_activity_create_report_details(self): + """ + Created a team activity report. + + Only call this if :meth:`is_team_activity_create_report_details` is true. + + :rtype: TeamActivityCreateReportDetails + """ + if not self.is_team_activity_create_report_details(): + raise AttributeError("tag 'team_activity_create_report_details' not set") + return self._value + + def get_collection_share_details(self): + """ + Shared an album. + + Only call this if :meth:`is_collection_share_details` is true. + + :rtype: CollectionShareDetails + """ + if not self.is_collection_share_details(): + raise AttributeError("tag 'collection_share_details' not set") + return self._value + + def get_file_add_comment_details(self): + """ + Added a file comment. + + Only call this if :meth:`is_file_add_comment_details` is true. + + :rtype: FileAddCommentDetails + """ + if not self.is_file_add_comment_details(): + raise AttributeError("tag 'file_add_comment_details' not set") + return self._value + + def get_file_like_comment_details(self): + """ + Liked a file comment. + + Only call this if :meth:`is_file_like_comment_details` is true. + + :rtype: FileLikeCommentDetails + """ + if not self.is_file_like_comment_details(): + raise AttributeError("tag 'file_like_comment_details' not set") + return self._value + + def get_file_unlike_comment_details(self): + """ + Unliked a file comment. + + Only call this if :meth:`is_file_unlike_comment_details` is true. + + :rtype: FileUnlikeCommentDetails + """ + if not self.is_file_unlike_comment_details(): + raise AttributeError("tag 'file_unlike_comment_details' not set") + return self._value + + def get_note_acl_invite_only_details(self): + """ + Changed a Paper document to be invite-only. + + Only call this if :meth:`is_note_acl_invite_only_details` is true. + + :rtype: NoteAclInviteOnlyDetails + """ + if not self.is_note_acl_invite_only_details(): + raise AttributeError("tag 'note_acl_invite_only_details' not set") + return self._value + + def get_note_acl_link_details(self): + """ + Changed a Paper document to be link accessible. + + Only call this if :meth:`is_note_acl_link_details` is true. + + :rtype: NoteAclLinkDetails + """ + if not self.is_note_acl_link_details(): + raise AttributeError("tag 'note_acl_link_details' not set") + return self._value + + def get_note_acl_team_link_details(self): + """ + Changed a Paper document to be link accessible for the team. + + Only call this if :meth:`is_note_acl_team_link_details` is true. + + :rtype: NoteAclTeamLinkDetails + """ + if not self.is_note_acl_team_link_details(): + raise AttributeError("tag 'note_acl_team_link_details' not set") + return self._value + + def get_note_shared_details(self): + """ + Shared a Paper doc. + + Only call this if :meth:`is_note_shared_details` is true. + + :rtype: NoteSharedDetails + """ + if not self.is_note_shared_details(): + raise AttributeError("tag 'note_shared_details' not set") + return self._value + + def get_note_share_receive_details(self): + """ + Shared Paper document received. + + Only call this if :meth:`is_note_share_receive_details` is true. + + :rtype: NoteShareReceiveDetails + """ + if not self.is_note_share_receive_details(): + raise AttributeError("tag 'note_share_receive_details' not set") + return self._value + + def get_open_note_shared_details(self): + """ + Opened a shared Paper doc. + + Only call this if :meth:`is_open_note_shared_details` is true. + + :rtype: OpenNoteSharedDetails + """ + if not self.is_open_note_shared_details(): + raise AttributeError("tag 'open_note_shared_details' not set") + return self._value + + def get_sf_add_group_details(self): + """ + Added the team to a shared folder. + + Only call this if :meth:`is_sf_add_group_details` is true. + + :rtype: SfAddGroupDetails + """ + if not self.is_sf_add_group_details(): + raise AttributeError("tag 'sf_add_group_details' not set") + return self._value + + def get_sf_allow_non_members_to_view_shared_links_details(self): + """ + Allowed non collaborators to view links to files in a shared folder. + + Only call this if :meth:`is_sf_allow_non_members_to_view_shared_links_details` is true. + + :rtype: SfAllowNonMembersToViewSharedLinksDetails + """ + if not self.is_sf_allow_non_members_to_view_shared_links_details(): + raise AttributeError("tag 'sf_allow_non_members_to_view_shared_links_details' not set") + return self._value + + def get_sf_invite_group_details(self): + """ + Invited a group to a shared folder. + + Only call this if :meth:`is_sf_invite_group_details` is true. + + :rtype: SfInviteGroupDetails + """ + if not self.is_sf_invite_group_details(): + raise AttributeError("tag 'sf_invite_group_details' not set") + return self._value + + def get_sf_nest_details(self): + """ + Changed parent of shared folder. + + Only call this if :meth:`is_sf_nest_details` is true. + + :rtype: SfNestDetails + """ + if not self.is_sf_nest_details(): + raise AttributeError("tag 'sf_nest_details' not set") + return self._value + + def get_sf_team_decline_details(self): + """ + Declined a team member's invitation to a shared folder. + + Only call this if :meth:`is_sf_team_decline_details` is true. + + :rtype: SfTeamDeclineDetails + """ + if not self.is_sf_team_decline_details(): + raise AttributeError("tag 'sf_team_decline_details' not set") + return self._value + + def get_sf_team_grant_access_details(self): + """ + Granted access to a shared folder. + + Only call this if :meth:`is_sf_team_grant_access_details` is true. + + :rtype: SfTeamGrantAccessDetails + """ + if not self.is_sf_team_grant_access_details(): + raise AttributeError("tag 'sf_team_grant_access_details' not set") + return self._value + + def get_sf_team_invite_details(self): + """ + Invited team members to a shared folder. + + Only call this if :meth:`is_sf_team_invite_details` is true. + + :rtype: SfTeamInviteDetails + """ + if not self.is_sf_team_invite_details(): + raise AttributeError("tag 'sf_team_invite_details' not set") + return self._value + + def get_sf_team_invite_change_role_details(self): + """ + Changed a team member's role in a shared folder. + + Only call this if :meth:`is_sf_team_invite_change_role_details` is true. + + :rtype: SfTeamInviteChangeRoleDetails + """ + if not self.is_sf_team_invite_change_role_details(): + raise AttributeError("tag 'sf_team_invite_change_role_details' not set") + return self._value + + def get_sf_team_join_details(self): + """ + Joined a team member's shared folder. + + Only call this if :meth:`is_sf_team_join_details` is true. + + :rtype: SfTeamJoinDetails + """ + if not self.is_sf_team_join_details(): + raise AttributeError("tag 'sf_team_join_details' not set") + return self._value + + def get_sf_team_join_from_oob_link_details(self): + """ + Joined a team member's shared folder from a link. + + Only call this if :meth:`is_sf_team_join_from_oob_link_details` is true. + + :rtype: SfTeamJoinFromOobLinkDetails + """ + if not self.is_sf_team_join_from_oob_link_details(): + raise AttributeError("tag 'sf_team_join_from_oob_link_details' not set") + return self._value + + def get_sf_team_uninvite_details(self): + """ + Unshared a folder with a team member. + + Only call this if :meth:`is_sf_team_uninvite_details` is true. + + :rtype: SfTeamUninviteDetails + """ + if not self.is_sf_team_uninvite_details(): + raise AttributeError("tag 'sf_team_uninvite_details' not set") + return self._value + + def get_shared_content_add_invitees_details(self): + """ + Sent an email invitation to the membership of a shared file or folder. + + Only call this if :meth:`is_shared_content_add_invitees_details` is true. + + :rtype: SharedContentAddInviteesDetails + """ + if not self.is_shared_content_add_invitees_details(): + raise AttributeError("tag 'shared_content_add_invitees_details' not set") + return self._value + + def get_shared_content_add_link_expiry_details(self): + """ + Added an expiry to the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_add_link_expiry_details` is true. + + :rtype: SharedContentAddLinkExpiryDetails + """ + if not self.is_shared_content_add_link_expiry_details(): + raise AttributeError("tag 'shared_content_add_link_expiry_details' not set") + return self._value + + def get_shared_content_add_link_password_details(self): + """ + Added a password to the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_add_link_password_details` is true. + + :rtype: SharedContentAddLinkPasswordDetails + """ + if not self.is_shared_content_add_link_password_details(): + raise AttributeError("tag 'shared_content_add_link_password_details' not set") + return self._value + + def get_shared_content_add_member_details(self): + """ + Added users and/or groups to the membership of a shared file or folder. + + Only call this if :meth:`is_shared_content_add_member_details` is true. + + :rtype: SharedContentAddMemberDetails + """ + if not self.is_shared_content_add_member_details(): + raise AttributeError("tag 'shared_content_add_member_details' not set") + return self._value + + def get_shared_content_change_downloads_policy_details(self): + """ + Changed whether members can download the shared file or folder. + + Only call this if :meth:`is_shared_content_change_downloads_policy_details` is true. + + :rtype: SharedContentChangeDownloadsPolicyDetails + """ + if not self.is_shared_content_change_downloads_policy_details(): + raise AttributeError("tag 'shared_content_change_downloads_policy_details' not set") + return self._value + + def get_shared_content_change_invitee_role_details(self): + """ + Changed the access type of an invitee to a shared file or folder before + the invitation was claimed. + + Only call this if :meth:`is_shared_content_change_invitee_role_details` is true. + + :rtype: SharedContentChangeInviteeRoleDetails + """ + if not self.is_shared_content_change_invitee_role_details(): + raise AttributeError("tag 'shared_content_change_invitee_role_details' not set") + return self._value + + def get_shared_content_change_link_audience_details(self): + """ + Changed the audience of the link for a shared file or folder. + + Only call this if :meth:`is_shared_content_change_link_audience_details` is true. + + :rtype: SharedContentChangeLinkAudienceDetails + """ + if not self.is_shared_content_change_link_audience_details(): + raise AttributeError("tag 'shared_content_change_link_audience_details' not set") + return self._value + + def get_shared_content_change_link_expiry_details(self): + """ + Changed the expiry of the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_change_link_expiry_details` is true. + + :rtype: SharedContentChangeLinkExpiryDetails + """ + if not self.is_shared_content_change_link_expiry_details(): + raise AttributeError("tag 'shared_content_change_link_expiry_details' not set") + return self._value + + def get_shared_content_change_link_password_details(self): + """ + Changed the password on the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_change_link_password_details` is true. + + :rtype: SharedContentChangeLinkPasswordDetails + """ + if not self.is_shared_content_change_link_password_details(): + raise AttributeError("tag 'shared_content_change_link_password_details' not set") + return self._value + + def get_shared_content_change_member_role_details(self): + """ + Changed the access type of a shared file or folder member. + + Only call this if :meth:`is_shared_content_change_member_role_details` is true. + + :rtype: SharedContentChangeMemberRoleDetails + """ + if not self.is_shared_content_change_member_role_details(): + raise AttributeError("tag 'shared_content_change_member_role_details' not set") + return self._value + + def get_shared_content_change_viewer_info_policy_details(self): + """ + Changed whether members can see who viewed the shared file or folder. + + Only call this if :meth:`is_shared_content_change_viewer_info_policy_details` is true. + + :rtype: SharedContentChangeViewerInfoPolicyDetails + """ + if not self.is_shared_content_change_viewer_info_policy_details(): + raise AttributeError("tag 'shared_content_change_viewer_info_policy_details' not set") + return self._value + + def get_shared_content_claim_invitation_details(self): + """ + Claimed membership to a team member's shared folder. + + Only call this if :meth:`is_shared_content_claim_invitation_details` is true. + + :rtype: SharedContentClaimInvitationDetails + """ + if not self.is_shared_content_claim_invitation_details(): + raise AttributeError("tag 'shared_content_claim_invitation_details' not set") + return self._value + + def get_shared_content_copy_details(self): + """ + Copied the shared file or folder to own Dropbox. + + Only call this if :meth:`is_shared_content_copy_details` is true. + + :rtype: SharedContentCopyDetails + """ + if not self.is_shared_content_copy_details(): + raise AttributeError("tag 'shared_content_copy_details' not set") + return self._value + + def get_shared_content_download_details(self): + """ + Downloaded the shared file or folder. + + Only call this if :meth:`is_shared_content_download_details` is true. + + :rtype: SharedContentDownloadDetails + """ + if not self.is_shared_content_download_details(): + raise AttributeError("tag 'shared_content_download_details' not set") + return self._value + + def get_shared_content_relinquish_membership_details(self): + """ + Left the membership of a shared file or folder. + + Only call this if :meth:`is_shared_content_relinquish_membership_details` is true. + + :rtype: SharedContentRelinquishMembershipDetails + """ + if not self.is_shared_content_relinquish_membership_details(): + raise AttributeError("tag 'shared_content_relinquish_membership_details' not set") + return self._value + + def get_shared_content_remove_invitee_details(self): + """ + Removed an invitee from the membership of a shared file or folder before + it was claimed. + + Only call this if :meth:`is_shared_content_remove_invitee_details` is true. + + :rtype: SharedContentRemoveInviteeDetails + """ + if not self.is_shared_content_remove_invitee_details(): + raise AttributeError("tag 'shared_content_remove_invitee_details' not set") + return self._value + + def get_shared_content_remove_link_expiry_details(self): + """ + Removed the expiry of the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_remove_link_expiry_details` is true. + + :rtype: SharedContentRemoveLinkExpiryDetails + """ + if not self.is_shared_content_remove_link_expiry_details(): + raise AttributeError("tag 'shared_content_remove_link_expiry_details' not set") + return self._value + + def get_shared_content_remove_link_password_details(self): + """ + Removed the password on the link for the shared file or folder. + + Only call this if :meth:`is_shared_content_remove_link_password_details` is true. + + :rtype: SharedContentRemoveLinkPasswordDetails + """ + if not self.is_shared_content_remove_link_password_details(): + raise AttributeError("tag 'shared_content_remove_link_password_details' not set") + return self._value + + def get_shared_content_remove_member_details(self): + """ + Removed a user or a group from the membership of a shared file or + folder. + + Only call this if :meth:`is_shared_content_remove_member_details` is true. + + :rtype: SharedContentRemoveMemberDetails + """ + if not self.is_shared_content_remove_member_details(): + raise AttributeError("tag 'shared_content_remove_member_details' not set") + return self._value + + def get_shared_content_request_access_details(self): + """ + Requested to be on the membership of a shared file or folder. + + Only call this if :meth:`is_shared_content_request_access_details` is true. + + :rtype: SharedContentRequestAccessDetails + """ + if not self.is_shared_content_request_access_details(): + raise AttributeError("tag 'shared_content_request_access_details' not set") + return self._value + + def get_shared_content_unshare_details(self): + """ + Unshared a shared file or folder by clearing its membership and turning + off its link. + + Only call this if :meth:`is_shared_content_unshare_details` is true. + + :rtype: SharedContentUnshareDetails + """ + if not self.is_shared_content_unshare_details(): + raise AttributeError("tag 'shared_content_unshare_details' not set") + return self._value + + def get_shared_content_view_details(self): + """ + Previewed the shared file or folder. + + Only call this if :meth:`is_shared_content_view_details` is true. + + :rtype: SharedContentViewDetails + """ + if not self.is_shared_content_view_details(): + raise AttributeError("tag 'shared_content_view_details' not set") + return self._value + + def get_shared_folder_change_confidentiality_details(self): + """ + Set or unset the confidential flag on a shared folder. + + Only call this if :meth:`is_shared_folder_change_confidentiality_details` is true. + + :rtype: SharedFolderChangeConfidentialityDetails + """ + if not self.is_shared_folder_change_confidentiality_details(): + raise AttributeError("tag 'shared_folder_change_confidentiality_details' not set") + return self._value + + def get_shared_folder_change_link_policy_details(self): + """ + Changed who can access the shared folder via a link. + + Only call this if :meth:`is_shared_folder_change_link_policy_details` is true. + + :rtype: SharedFolderChangeLinkPolicyDetails + """ + if not self.is_shared_folder_change_link_policy_details(): + raise AttributeError("tag 'shared_folder_change_link_policy_details' not set") + return self._value + + def get_shared_folder_change_member_management_policy_details(self): + """ + Changed who can manage the membership of a shared folder. + + Only call this if :meth:`is_shared_folder_change_member_management_policy_details` is true. + + :rtype: SharedFolderChangeMemberManagementPolicyDetails + """ + if not self.is_shared_folder_change_member_management_policy_details(): + raise AttributeError("tag 'shared_folder_change_member_management_policy_details' not set") + return self._value + + def get_shared_folder_change_member_policy_details(self): + """ + Changed who can become a member of the shared folder. + + Only call this if :meth:`is_shared_folder_change_member_policy_details` is true. + + :rtype: SharedFolderChangeMemberPolicyDetails + """ + if not self.is_shared_folder_change_member_policy_details(): + raise AttributeError("tag 'shared_folder_change_member_policy_details' not set") + return self._value + + def get_shared_folder_create_details(self): + """ + Created a shared folder. + + Only call this if :meth:`is_shared_folder_create_details` is true. + + :rtype: SharedFolderCreateDetails + """ + if not self.is_shared_folder_create_details(): + raise AttributeError("tag 'shared_folder_create_details' not set") + return self._value + + def get_shared_folder_mount_details(self): + """ + Added a shared folder to own Dropbox. + + Only call this if :meth:`is_shared_folder_mount_details` is true. + + :rtype: SharedFolderMountDetails + """ + if not self.is_shared_folder_mount_details(): + raise AttributeError("tag 'shared_folder_mount_details' not set") + return self._value + + def get_shared_folder_transfer_ownership_details(self): + """ + Transferred the ownership of a shared folder to another member. + + Only call this if :meth:`is_shared_folder_transfer_ownership_details` is true. + + :rtype: SharedFolderTransferOwnershipDetails + """ + if not self.is_shared_folder_transfer_ownership_details(): + raise AttributeError("tag 'shared_folder_transfer_ownership_details' not set") + return self._value + + def get_shared_folder_unmount_details(self): + """ + Deleted a shared folder from Dropbox. + + Only call this if :meth:`is_shared_folder_unmount_details` is true. + + :rtype: SharedFolderUnmountDetails + """ + if not self.is_shared_folder_unmount_details(): + raise AttributeError("tag 'shared_folder_unmount_details' not set") + return self._value + + def get_shared_note_opened_details(self): + """ + Shared Paper document was opened. + + Only call this if :meth:`is_shared_note_opened_details` is true. + + :rtype: SharedNoteOpenedDetails + """ + if not self.is_shared_note_opened_details(): + raise AttributeError("tag 'shared_note_opened_details' not set") + return self._value + + def get_shmodel_app_create_details(self): + """ + Created a link to a file using an app. + + Only call this if :meth:`is_shmodel_app_create_details` is true. + + :rtype: ShmodelAppCreateDetails + """ + if not self.is_shmodel_app_create_details(): + raise AttributeError("tag 'shmodel_app_create_details' not set") + return self._value + + def get_shmodel_create_details(self): + """ + Created a new link. + + Only call this if :meth:`is_shmodel_create_details` is true. + + :rtype: ShmodelCreateDetails + """ + if not self.is_shmodel_create_details(): + raise AttributeError("tag 'shmodel_create_details' not set") + return self._value + + def get_shmodel_disable_details(self): + """ + Removed a link. + + Only call this if :meth:`is_shmodel_disable_details` is true. + + :rtype: ShmodelDisableDetails + """ + if not self.is_shmodel_disable_details(): + raise AttributeError("tag 'shmodel_disable_details' not set") + return self._value + + def get_shmodel_fb_share_details(self): + """ + Shared a link with Facebook users. + + Only call this if :meth:`is_shmodel_fb_share_details` is true. + + :rtype: ShmodelFbShareDetails + """ + if not self.is_shmodel_fb_share_details(): + raise AttributeError("tag 'shmodel_fb_share_details' not set") + return self._value + + def get_shmodel_group_share_details(self): + """ + Shared a link with a group. + + Only call this if :meth:`is_shmodel_group_share_details` is true. + + :rtype: ShmodelGroupShareDetails + """ + if not self.is_shmodel_group_share_details(): + raise AttributeError("tag 'shmodel_group_share_details' not set") + return self._value + + def get_shmodel_remove_expiration_details(self): + """ + Removed the expiration date from a link. + + Only call this if :meth:`is_shmodel_remove_expiration_details` is true. + + :rtype: ShmodelRemoveExpirationDetails + """ + if not self.is_shmodel_remove_expiration_details(): + raise AttributeError("tag 'shmodel_remove_expiration_details' not set") + return self._value + + def get_shmodel_set_expiration_details(self): + """ + Added an expiration date to a link. + + Only call this if :meth:`is_shmodel_set_expiration_details` is true. + + :rtype: ShmodelSetExpirationDetails + """ + if not self.is_shmodel_set_expiration_details(): + raise AttributeError("tag 'shmodel_set_expiration_details' not set") + return self._value + + def get_shmodel_team_copy_details(self): + """ + Added a team member's file/folder to their Dropbox from a link. + + Only call this if :meth:`is_shmodel_team_copy_details` is true. + + :rtype: ShmodelTeamCopyDetails + """ + if not self.is_shmodel_team_copy_details(): + raise AttributeError("tag 'shmodel_team_copy_details' not set") + return self._value + + def get_shmodel_team_download_details(self): + """ + Downloaded a team member's file/folder from a link. + + Only call this if :meth:`is_shmodel_team_download_details` is true. + + :rtype: ShmodelTeamDownloadDetails + """ + if not self.is_shmodel_team_download_details(): + raise AttributeError("tag 'shmodel_team_download_details' not set") + return self._value + + def get_shmodel_team_share_details(self): + """ + Shared a link with team members. + + Only call this if :meth:`is_shmodel_team_share_details` is true. + + :rtype: ShmodelTeamShareDetails + """ + if not self.is_shmodel_team_share_details(): + raise AttributeError("tag 'shmodel_team_share_details' not set") + return self._value + + def get_shmodel_team_view_details(self): + """ + Opened a team member's link. + + Only call this if :meth:`is_shmodel_team_view_details` is true. + + :rtype: ShmodelTeamViewDetails + """ + if not self.is_shmodel_team_view_details(): + raise AttributeError("tag 'shmodel_team_view_details' not set") + return self._value + + def get_shmodel_visibility_password_details(self): + """ + Password-protected a link. + + Only call this if :meth:`is_shmodel_visibility_password_details` is true. + + :rtype: ShmodelVisibilityPasswordDetails + """ + if not self.is_shmodel_visibility_password_details(): + raise AttributeError("tag 'shmodel_visibility_password_details' not set") + return self._value + + def get_shmodel_visibility_public_details(self): + """ + Made a file/folder visible to anyone with the link. + + Only call this if :meth:`is_shmodel_visibility_public_details` is true. + + :rtype: ShmodelVisibilityPublicDetails + """ + if not self.is_shmodel_visibility_public_details(): + raise AttributeError("tag 'shmodel_visibility_public_details' not set") + return self._value + + def get_shmodel_visibility_team_only_details(self): + """ + Made a file/folder visible only to team members with the link. + + Only call this if :meth:`is_shmodel_visibility_team_only_details` is true. + + :rtype: ShmodelVisibilityTeamOnlyDetails + """ + if not self.is_shmodel_visibility_team_only_details(): + raise AttributeError("tag 'shmodel_visibility_team_only_details' not set") + return self._value + + def get_remove_logout_url_details(self): + """ + Removed single sign-on logout URL. + + Only call this if :meth:`is_remove_logout_url_details` is true. + + :rtype: RemoveLogoutUrlDetails + """ + if not self.is_remove_logout_url_details(): + raise AttributeError("tag 'remove_logout_url_details' not set") + return self._value + + def get_remove_sso_url_details(self): + """ + Changed the sign-out URL for SSO. + + Only call this if :meth:`is_remove_sso_url_details` is true. + + :rtype: RemoveSsoUrlDetails + """ + if not self.is_remove_sso_url_details(): + raise AttributeError("tag 'remove_sso_url_details' not set") + return self._value + + def get_sso_change_cert_details(self): + """ + Changed the X.509 certificate for SSO. + + Only call this if :meth:`is_sso_change_cert_details` is true. + + :rtype: SsoChangeCertDetails + """ + if not self.is_sso_change_cert_details(): + raise AttributeError("tag 'sso_change_cert_details' not set") + return self._value + + def get_sso_change_login_url_details(self): + """ + Changed the sign-in URL for SSO. + + Only call this if :meth:`is_sso_change_login_url_details` is true. + + :rtype: SsoChangeLoginUrlDetails + """ + if not self.is_sso_change_login_url_details(): + raise AttributeError("tag 'sso_change_login_url_details' not set") + return self._value + + def get_sso_change_logout_url_details(self): + """ + Changed the sign-out URL for SSO. + + Only call this if :meth:`is_sso_change_logout_url_details` is true. + + :rtype: SsoChangeLogoutUrlDetails + """ + if not self.is_sso_change_logout_url_details(): + raise AttributeError("tag 'sso_change_logout_url_details' not set") + return self._value + + def get_sso_change_saml_identity_mode_details(self): + """ + Changed the SAML identity mode for SSO. + + Only call this if :meth:`is_sso_change_saml_identity_mode_details` is true. + + :rtype: SsoChangeSamlIdentityModeDetails + """ + if not self.is_sso_change_saml_identity_mode_details(): + raise AttributeError("tag 'sso_change_saml_identity_mode_details' not set") + return self._value + + def get_team_folder_change_status_details(self): + """ + Changed the archival status of a team folder. + + Only call this if :meth:`is_team_folder_change_status_details` is true. + + :rtype: TeamFolderChangeStatusDetails + """ + if not self.is_team_folder_change_status_details(): + raise AttributeError("tag 'team_folder_change_status_details' not set") + return self._value + + def get_team_folder_create_details(self): + """ + Created a new team folder in active status. + + Only call this if :meth:`is_team_folder_create_details` is true. + + :rtype: TeamFolderCreateDetails + """ + if not self.is_team_folder_create_details(): + raise AttributeError("tag 'team_folder_create_details' not set") + return self._value + + def get_team_folder_downgrade_details(self): + """ + Downgraded a team folder to a regular shared folder. + + Only call this if :meth:`is_team_folder_downgrade_details` is true. + + :rtype: TeamFolderDowngradeDetails + """ + if not self.is_team_folder_downgrade_details(): + raise AttributeError("tag 'team_folder_downgrade_details' not set") + return self._value + + def get_team_folder_permanently_delete_details(self): + """ + Permanently deleted an archived team folder. + + Only call this if :meth:`is_team_folder_permanently_delete_details` is true. + + :rtype: TeamFolderPermanentlyDeleteDetails + """ + if not self.is_team_folder_permanently_delete_details(): + raise AttributeError("tag 'team_folder_permanently_delete_details' not set") + return self._value + + def get_team_folder_rename_details(self): + """ + Renamed an active or archived team folder. + + Only call this if :meth:`is_team_folder_rename_details` is true. + + :rtype: TeamFolderRenameDetails + """ + if not self.is_team_folder_rename_details(): + raise AttributeError("tag 'team_folder_rename_details' not set") + return self._value + + def get_account_capture_change_policy_details(self): + """ + Changed the account capture policy on a domain belonging to the team. + + Only call this if :meth:`is_account_capture_change_policy_details` is true. + + :rtype: AccountCaptureChangePolicyDetails + """ + if not self.is_account_capture_change_policy_details(): + raise AttributeError("tag 'account_capture_change_policy_details' not set") + return self._value + + def get_allow_download_disabled_details(self): + """ + Disabled allow downloads. + + Only call this if :meth:`is_allow_download_disabled_details` is true. + + :rtype: AllowDownloadDisabledDetails + """ + if not self.is_allow_download_disabled_details(): + raise AttributeError("tag 'allow_download_disabled_details' not set") + return self._value + + def get_allow_download_enabled_details(self): + """ + Enabled allow downloads. + + Only call this if :meth:`is_allow_download_enabled_details` is true. + + :rtype: AllowDownloadEnabledDetails + """ + if not self.is_allow_download_enabled_details(): + raise AttributeError("tag 'allow_download_enabled_details' not set") + return self._value + + def get_data_placement_restriction_change_policy_details(self): + """ + Set a restriction policy regarding the location of data centers where + team data resides. + + Only call this if :meth:`is_data_placement_restriction_change_policy_details` is true. + + :rtype: DataPlacementRestrictionChangePolicyDetails + """ + if not self.is_data_placement_restriction_change_policy_details(): + raise AttributeError("tag 'data_placement_restriction_change_policy_details' not set") + return self._value + + def get_data_placement_restriction_satisfy_policy_details(self): + """ + Satisfied a previously set restriction policy regarding the location of + data centers where team data resides (i.e. all data have been migrated + according to the restriction placed). + + Only call this if :meth:`is_data_placement_restriction_satisfy_policy_details` is true. + + :rtype: DataPlacementRestrictionSatisfyPolicyDetails + """ + if not self.is_data_placement_restriction_satisfy_policy_details(): + raise AttributeError("tag 'data_placement_restriction_satisfy_policy_details' not set") + return self._value + + def get_device_approvals_change_desktop_policy_details(self): + """ + Set or removed a limit on the number of computers each team member can + link to their work Dropbox account. + + Only call this if :meth:`is_device_approvals_change_desktop_policy_details` is true. + + :rtype: DeviceApprovalsChangeDesktopPolicyDetails + """ + if not self.is_device_approvals_change_desktop_policy_details(): + raise AttributeError("tag 'device_approvals_change_desktop_policy_details' not set") + return self._value + + def get_device_approvals_change_mobile_policy_details(self): + """ + Set or removed a limit on the number of mobiles devices each team member + can link to their work Dropbox account. + + Only call this if :meth:`is_device_approvals_change_mobile_policy_details` is true. + + :rtype: DeviceApprovalsChangeMobilePolicyDetails + """ + if not self.is_device_approvals_change_mobile_policy_details(): + raise AttributeError("tag 'device_approvals_change_mobile_policy_details' not set") + return self._value + + def get_device_approvals_change_overage_action_details(self): + """ + Changed the action taken when a team member is already over the limits + (e.g when they join the team, an admin lowers limits, etc.). + + Only call this if :meth:`is_device_approvals_change_overage_action_details` is true. + + :rtype: DeviceApprovalsChangeOverageActionDetails + """ + if not self.is_device_approvals_change_overage_action_details(): + raise AttributeError("tag 'device_approvals_change_overage_action_details' not set") + return self._value + + def get_device_approvals_change_unlink_action_details(self): + """ + Changed the action taken with respect to approval limits when a team + member unlinks an approved device. + + Only call this if :meth:`is_device_approvals_change_unlink_action_details` is true. + + :rtype: DeviceApprovalsChangeUnlinkActionDetails + """ + if not self.is_device_approvals_change_unlink_action_details(): + raise AttributeError("tag 'device_approvals_change_unlink_action_details' not set") + return self._value + + def get_emm_add_exception_details(self): + """ + Added an exception for one or more team members to optionally use the + regular Dropbox app when EMM is enabled. + + Only call this if :meth:`is_emm_add_exception_details` is true. + + :rtype: EmmAddExceptionDetails + """ + if not self.is_emm_add_exception_details(): + raise AttributeError("tag 'emm_add_exception_details' not set") + return self._value + + def get_emm_change_policy_details(self): + """ + Enabled or disabled enterprise mobility management for team members. + + Only call this if :meth:`is_emm_change_policy_details` is true. + + :rtype: EmmChangePolicyDetails + """ + if not self.is_emm_change_policy_details(): + raise AttributeError("tag 'emm_change_policy_details' not set") + return self._value + + def get_emm_remove_exception_details(self): + """ + Removed an exception for one or more team members to optionally use the + regular Dropbox app when EMM is enabled. + + Only call this if :meth:`is_emm_remove_exception_details` is true. + + :rtype: EmmRemoveExceptionDetails + """ + if not self.is_emm_remove_exception_details(): + raise AttributeError("tag 'emm_remove_exception_details' not set") + return self._value + + def get_extended_version_history_change_policy_details(self): + """ + Accepted or opted out of extended version history. + + Only call this if :meth:`is_extended_version_history_change_policy_details` is true. + + :rtype: ExtendedVersionHistoryChangePolicyDetails + """ + if not self.is_extended_version_history_change_policy_details(): + raise AttributeError("tag 'extended_version_history_change_policy_details' not set") + return self._value + + def get_file_comments_change_policy_details(self): + """ + Enabled or disabled commenting on team files. + + Only call this if :meth:`is_file_comments_change_policy_details` is true. + + :rtype: FileCommentsChangePolicyDetails + """ + if not self.is_file_comments_change_policy_details(): + raise AttributeError("tag 'file_comments_change_policy_details' not set") + return self._value + + def get_file_requests_change_policy_details(self): + """ + Enabled or disabled file requests. + + Only call this if :meth:`is_file_requests_change_policy_details` is true. + + :rtype: FileRequestsChangePolicyDetails + """ + if not self.is_file_requests_change_policy_details(): + raise AttributeError("tag 'file_requests_change_policy_details' not set") + return self._value + + def get_file_requests_emails_enabled_details(self): + """ + Enabled file request emails for everyone. + + Only call this if :meth:`is_file_requests_emails_enabled_details` is true. + + :rtype: FileRequestsEmailsEnabledDetails + """ + if not self.is_file_requests_emails_enabled_details(): + raise AttributeError("tag 'file_requests_emails_enabled_details' not set") + return self._value + + def get_file_requests_emails_restricted_to_team_only_details(self): + """ + Allowed file request emails for the team. + + Only call this if :meth:`is_file_requests_emails_restricted_to_team_only_details` is true. + + :rtype: FileRequestsEmailsRestrictedToTeamOnlyDetails + """ + if not self.is_file_requests_emails_restricted_to_team_only_details(): + raise AttributeError("tag 'file_requests_emails_restricted_to_team_only_details' not set") + return self._value + + def get_google_sso_change_policy_details(self): + """ + Enabled or disabled Google single sign-on for the team. + + Only call this if :meth:`is_google_sso_change_policy_details` is true. + + :rtype: GoogleSsoChangePolicyDetails + """ + if not self.is_google_sso_change_policy_details(): + raise AttributeError("tag 'google_sso_change_policy_details' not set") + return self._value + + def get_group_user_management_change_policy_details(self): + """ + Changed who can create groups. + + Only call this if :meth:`is_group_user_management_change_policy_details` is true. + + :rtype: GroupUserManagementChangePolicyDetails + """ + if not self.is_group_user_management_change_policy_details(): + raise AttributeError("tag 'group_user_management_change_policy_details' not set") + return self._value + + def get_member_requests_change_policy_details(self): + """ + Changed whether users can find the team when not invited. + + Only call this if :meth:`is_member_requests_change_policy_details` is true. + + :rtype: MemberRequestsChangePolicyDetails + """ + if not self.is_member_requests_change_policy_details(): + raise AttributeError("tag 'member_requests_change_policy_details' not set") + return self._value + + def get_member_space_limits_add_exception_details(self): + """ + Added an exception for one or more team members to bypass space limits + imposed by policy. + + Only call this if :meth:`is_member_space_limits_add_exception_details` is true. + + :rtype: MemberSpaceLimitsAddExceptionDetails + """ + if not self.is_member_space_limits_add_exception_details(): + raise AttributeError("tag 'member_space_limits_add_exception_details' not set") + return self._value + + def get_member_space_limits_change_policy_details(self): + """ + Changed the storage limits applied to team members by policy. + + Only call this if :meth:`is_member_space_limits_change_policy_details` is true. + + :rtype: MemberSpaceLimitsChangePolicyDetails + """ + if not self.is_member_space_limits_change_policy_details(): + raise AttributeError("tag 'member_space_limits_change_policy_details' not set") + return self._value + + def get_member_space_limits_remove_exception_details(self): + """ + Removed an exception for one or more team members to bypass space limits + imposed by policy. + + Only call this if :meth:`is_member_space_limits_remove_exception_details` is true. + + :rtype: MemberSpaceLimitsRemoveExceptionDetails + """ + if not self.is_member_space_limits_remove_exception_details(): + raise AttributeError("tag 'member_space_limits_remove_exception_details' not set") + return self._value + + def get_member_suggestions_change_policy_details(self): + """ + Enabled or disabled the option for team members to suggest new members + to add to the team. + + Only call this if :meth:`is_member_suggestions_change_policy_details` is true. + + :rtype: MemberSuggestionsChangePolicyDetails + """ + if not self.is_member_suggestions_change_policy_details(): + raise AttributeError("tag 'member_suggestions_change_policy_details' not set") + return self._value + + def get_microsoft_office_addin_change_policy_details(self): + """ + Enabled or disabled the Microsoft Office add-in, which lets team members + save files to Dropbox directly from Microsoft Office. + + Only call this if :meth:`is_microsoft_office_addin_change_policy_details` is true. + + :rtype: MicrosoftOfficeAddinChangePolicyDetails + """ + if not self.is_microsoft_office_addin_change_policy_details(): + raise AttributeError("tag 'microsoft_office_addin_change_policy_details' not set") + return self._value + + def get_network_control_change_policy_details(self): + """ + Enabled or disabled network control. + + Only call this if :meth:`is_network_control_change_policy_details` is true. + + :rtype: NetworkControlChangePolicyDetails + """ + if not self.is_network_control_change_policy_details(): + raise AttributeError("tag 'network_control_change_policy_details' not set") + return self._value + + def get_paper_change_deployment_policy_details(self): + """ + Changed whether Dropbox Paper, when enabled, is deployed to all teams or + to specific members of the team. + + Only call this if :meth:`is_paper_change_deployment_policy_details` is true. + + :rtype: PaperChangeDeploymentPolicyDetails + """ + if not self.is_paper_change_deployment_policy_details(): + raise AttributeError("tag 'paper_change_deployment_policy_details' not set") + return self._value + + def get_paper_change_member_policy_details(self): + """ + Changed whether team members can share Paper documents externally (i.e. + outside the team), and if so, whether they should be accessible only by + team members or anyone by default. + + Only call this if :meth:`is_paper_change_member_policy_details` is true. + + :rtype: PaperChangeMemberPolicyDetails + """ + if not self.is_paper_change_member_policy_details(): + raise AttributeError("tag 'paper_change_member_policy_details' not set") + return self._value + + def get_paper_change_policy_details(self): + """ + Enabled or disabled Dropbox Paper for the team. + + Only call this if :meth:`is_paper_change_policy_details` is true. + + :rtype: PaperChangePolicyDetails + """ + if not self.is_paper_change_policy_details(): + raise AttributeError("tag 'paper_change_policy_details' not set") + return self._value + + def get_permanent_delete_change_policy_details(self): + """ + Enabled or disabled the ability of team members to permanently delete + content. + + Only call this if :meth:`is_permanent_delete_change_policy_details` is true. + + :rtype: PermanentDeleteChangePolicyDetails + """ + if not self.is_permanent_delete_change_policy_details(): + raise AttributeError("tag 'permanent_delete_change_policy_details' not set") + return self._value + + def get_sharing_change_folder_join_policy_details(self): + """ + Changed whether team members can join shared folders owned externally + (i.e. outside the team). + + Only call this if :meth:`is_sharing_change_folder_join_policy_details` is true. + + :rtype: SharingChangeFolderJoinPolicyDetails + """ + if not self.is_sharing_change_folder_join_policy_details(): + raise AttributeError("tag 'sharing_change_folder_join_policy_details' not set") + return self._value + + def get_sharing_change_link_policy_details(self): + """ + Changed whether team members can share links externally (i.e. outside + the team), and if so, whether links should be accessible only by team + members or anyone by default. + + Only call this if :meth:`is_sharing_change_link_policy_details` is true. + + :rtype: SharingChangeLinkPolicyDetails + """ + if not self.is_sharing_change_link_policy_details(): + raise AttributeError("tag 'sharing_change_link_policy_details' not set") + return self._value + + def get_sharing_change_member_policy_details(self): + """ + Changed whether team members can share files and folders externally + (i.e. outside the team). + + Only call this if :meth:`is_sharing_change_member_policy_details` is true. + + :rtype: SharingChangeMemberPolicyDetails + """ + if not self.is_sharing_change_member_policy_details(): + raise AttributeError("tag 'sharing_change_member_policy_details' not set") + return self._value + + def get_smart_sync_change_policy_details(self): + """ + Changed the default Smart Sync policy for team members. + + Only call this if :meth:`is_smart_sync_change_policy_details` is true. + + :rtype: SmartSyncChangePolicyDetails + """ + if not self.is_smart_sync_change_policy_details(): + raise AttributeError("tag 'smart_sync_change_policy_details' not set") + return self._value + + def get_sso_change_policy_details(self): + """ + Change the single sign-on policy for the team. + + Only call this if :meth:`is_sso_change_policy_details` is true. + + :rtype: SsoChangePolicyDetails + """ + if not self.is_sso_change_policy_details(): + raise AttributeError("tag 'sso_change_policy_details' not set") + return self._value + + def get_tfa_change_policy_details(self): + """ + Change two-step verification policy for the team. + + Only call this if :meth:`is_tfa_change_policy_details` is true. + + :rtype: TfaChangePolicyDetails + """ + if not self.is_tfa_change_policy_details(): + raise AttributeError("tag 'tfa_change_policy_details' not set") + return self._value + + def get_two_account_change_policy_details(self): + """ + Enabled or disabled the option for team members to link a personal + Dropbox account in addition to their work account to the same computer. + + Only call this if :meth:`is_two_account_change_policy_details` is true. + + :rtype: TwoAccountChangePolicyDetails + """ + if not self.is_two_account_change_policy_details(): + raise AttributeError("tag 'two_account_change_policy_details' not set") + return self._value + + def get_web_sessions_change_fixed_length_policy_details(self): + """ + Changed how long team members can stay signed in to Dropbox on the web. + + Only call this if :meth:`is_web_sessions_change_fixed_length_policy_details` is true. + + :rtype: WebSessionsChangeFixedLengthPolicyDetails + """ + if not self.is_web_sessions_change_fixed_length_policy_details(): + raise AttributeError("tag 'web_sessions_change_fixed_length_policy_details' not set") + return self._value + + def get_web_sessions_change_idle_length_policy_details(self): + """ + Changed how long team members can be idle while signed in to Dropbox on + the web. + + Only call this if :meth:`is_web_sessions_change_idle_length_policy_details` is true. + + :rtype: WebSessionsChangeIdleLengthPolicyDetails + """ + if not self.is_web_sessions_change_idle_length_policy_details(): + raise AttributeError("tag 'web_sessions_change_idle_length_policy_details' not set") + return self._value + + def get_team_profile_add_logo_details(self): + """ + Added a team logo to be displayed on shared link headers. + + Only call this if :meth:`is_team_profile_add_logo_details` is true. + + :rtype: TeamProfileAddLogoDetails + """ + if not self.is_team_profile_add_logo_details(): + raise AttributeError("tag 'team_profile_add_logo_details' not set") + return self._value + + def get_team_profile_change_logo_details(self): + """ + Changed the team logo to be displayed on shared link headers. + + Only call this if :meth:`is_team_profile_change_logo_details` is true. + + :rtype: TeamProfileChangeLogoDetails + """ + if not self.is_team_profile_change_logo_details(): + raise AttributeError("tag 'team_profile_change_logo_details' not set") + return self._value + + def get_team_profile_change_name_details(self): + """ + Changed the team name. + + Only call this if :meth:`is_team_profile_change_name_details` is true. + + :rtype: TeamProfileChangeNameDetails + """ + if not self.is_team_profile_change_name_details(): + raise AttributeError("tag 'team_profile_change_name_details' not set") + return self._value + + def get_team_profile_remove_logo_details(self): + """ + Removed the team logo to be displayed on shared link headers. + + Only call this if :meth:`is_team_profile_remove_logo_details` is true. + + :rtype: TeamProfileRemoveLogoDetails + """ + if not self.is_team_profile_remove_logo_details(): + raise AttributeError("tag 'team_profile_remove_logo_details' not set") + return self._value + + def get_tfa_add_backup_phone_details(self): + """ + Added a backup phone for two-step verification. + + Only call this if :meth:`is_tfa_add_backup_phone_details` is true. + + :rtype: TfaAddBackupPhoneDetails + """ + if not self.is_tfa_add_backup_phone_details(): + raise AttributeError("tag 'tfa_add_backup_phone_details' not set") + return self._value + + def get_tfa_add_security_key_details(self): + """ + Added a security key for two-step verification. + + Only call this if :meth:`is_tfa_add_security_key_details` is true. + + :rtype: TfaAddSecurityKeyDetails + """ + if not self.is_tfa_add_security_key_details(): + raise AttributeError("tag 'tfa_add_security_key_details' not set") + return self._value + + def get_tfa_change_backup_phone_details(self): + """ + Changed the backup phone for two-step verification. + + Only call this if :meth:`is_tfa_change_backup_phone_details` is true. + + :rtype: TfaChangeBackupPhoneDetails + """ + if not self.is_tfa_change_backup_phone_details(): + raise AttributeError("tag 'tfa_change_backup_phone_details' not set") + return self._value + + def get_tfa_change_status_details(self): + """ + Enabled, disabled or changed the configuration for two-step + verification. + + Only call this if :meth:`is_tfa_change_status_details` is true. + + :rtype: TfaChangeStatusDetails + """ + if not self.is_tfa_change_status_details(): + raise AttributeError("tag 'tfa_change_status_details' not set") + return self._value + + def get_tfa_remove_backup_phone_details(self): + """ + Removed the backup phone for two-step verification. + + Only call this if :meth:`is_tfa_remove_backup_phone_details` is true. + + :rtype: TfaRemoveBackupPhoneDetails + """ + if not self.is_tfa_remove_backup_phone_details(): + raise AttributeError("tag 'tfa_remove_backup_phone_details' not set") + return self._value + + def get_tfa_remove_security_key_details(self): + """ + Removed a security key for two-step verification. + + Only call this if :meth:`is_tfa_remove_security_key_details` is true. + + :rtype: TfaRemoveSecurityKeyDetails + """ + if not self.is_tfa_remove_security_key_details(): + raise AttributeError("tag 'tfa_remove_security_key_details' not set") + return self._value + + def get_tfa_reset_details(self): + """ + Reset two-step verification for team member. + + Only call this if :meth:`is_tfa_reset_details` is true. + + :rtype: TfaResetDetails + """ + if not self.is_tfa_reset_details(): + raise AttributeError("tag 'tfa_reset_details' not set") + return self._value + + def get_missing_details(self): + """ + Hints that this event was returned with missing details due to an + internal error. + + Only call this if :meth:`is_missing_details` is true. + + :rtype: MissingDetails + """ + if not self.is_missing_details(): + raise AttributeError("tag 'missing_details' not set") + return self._value + + def __repr__(self): + return 'EventDetails(%r, %r)' % (self._tag, self._value) + +EventDetails_validator = bv.Union(EventDetails) + +class EventType(bb.Union): + """ + The type of the event. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar member_change_membership_type: Changed the membership type (limited vs + full) for team member. + :ivar member_permanently_delete_account_contents: Permanently deleted + contents of a removed team member account. + :ivar member_space_limits_change_status: Changed the status with respect to + whether the team member is under or over storage quota specified by + policy. + :ivar member_transfer_account_contents: Transferred contents of a removed + team member account to another member. + :ivar paper_enabled_users_group_addition: Users added to Paper enabled users + list. + :ivar paper_enabled_users_group_removal: Users removed from Paper enabled + users list. + :ivar paper_external_view_allow: Paper external sharing policy changed: + anyone. This event is deprecated and will not be logged going forward as + the associated product functionality no longer exists. + :ivar paper_external_view_default_team: Paper external sharing policy + changed: default team. This event is deprecated and will not be logged + going forward as the associated product functionality no longer exists. + :ivar paper_external_view_forbid: Paper external sharing policy changed: + team-only. This event is deprecated and will not be logged going forward + as the associated product functionality no longer exists. + :ivar sf_external_invite_warn: Admin settings: team members see a warning + before sharing folders outside the team (DEPRECATED FEATURE). This event + is deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar team_merge: Merged the team into another team. + :ivar app_link_team: Linked an app for team. + :ivar app_link_user: Linked an app for team member. + :ivar app_unlink_team: Unlinked an app for team. + :ivar app_unlink_user: Unlinked an app for team member. + :ivar device_change_ip_desktop: IP address associated with active desktop + session changed. + :ivar device_change_ip_mobile: IP address associated with active mobile + session changed. + :ivar device_change_ip_web: IP address associated with active Web session + changed. + :ivar device_delete_on_unlink_fail: Failed to delete all files from an + unlinked device. + :ivar device_delete_on_unlink_success: Deleted all files from an unlinked + device. + :ivar device_link_fail: Failed to link a device. + :ivar device_link_success: Linked a device. + :ivar device_management_disabled: Disable Device Management. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar device_management_enabled: Enable Device Management. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar device_unlink: Disconnected a device. + :ivar emm_refresh_auth_token: Refreshed the auth token used for setting up + enterprise mobility management. + :ivar account_capture_change_availability: Granted or revoked the option to + enable account capture on domains belonging to the team. + :ivar account_capture_migrate_account: Account captured user migrated their + account to the team. + :ivar account_capture_relinquish_account: Account captured user relinquished + their account by changing the email address associated with it. + :ivar disabled_domain_invites: Disabled domain invites. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar domain_invites_approve_request_to_join_team: Approved a member's + request to join the team. + :ivar domain_invites_decline_request_to_join_team: Declined a user's request + to join the team. + :ivar domain_invites_email_existing_users: Sent domain invites to existing + domain accounts. + :ivar domain_invites_request_to_join_team: Asked to join the team. + :ivar domain_invites_set_invite_new_user_pref_to_no: Turned off + u201cAutomatically invite new usersu201d. This event is deprecated and + will not be logged going forward as the associated product functionality + no longer exists. + :ivar domain_invites_set_invite_new_user_pref_to_yes: Turned on + u201cAutomatically invite new usersu201d. This event is deprecated and + will not be logged going forward as the associated product functionality + no longer exists. + :ivar domain_verification_add_domain_fail: Failed to verify a domain + belonging to the team. + :ivar domain_verification_add_domain_success: Verified a domain belonging to + the team. + :ivar domain_verification_remove_domain: Removed a domain from the list of + verified domains belonging to the team. + :ivar enabled_domain_invites: Enabled domain invites. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar create_folder: Created folders. This event is deprecated and will not + be logged going forward as the associated product functionality no + longer exists. + :ivar file_add: Added files and/or folders. + :ivar file_copy: Copied files and/or folders. + :ivar file_delete: Deleted files and/or folders. + :ivar file_download: Downloaded files and/or folders. + :ivar file_edit: Edited files. + :ivar file_get_copy_reference: Create a copy reference to a file or folder. + :ivar file_move: Moved files and/or folders. + :ivar file_permanently_delete: Permanently deleted files and/or folders. + :ivar file_preview: Previewed files and/or folders. + :ivar file_rename: Renamed files and/or folders. + :ivar file_restore: Restored deleted files and/or folders. + :ivar file_revert: Reverted files to a previous version. + :ivar file_rollback_changes: Rolled back file change location changes. + :ivar file_save_copy_reference: Save a file or folder using a copy + reference. + :ivar file_request_add_deadline: Added a deadline to a file request. + :ivar file_request_change_folder: Changed the file request folder. + :ivar file_request_change_title: Change the file request title. + :ivar file_request_close: Closed a file request. + :ivar file_request_create: Created a file request. + :ivar file_request_receive_file: Received files for a file request. + :ivar file_request_remove_deadline: Removed the file request deadline. + :ivar file_request_send: Sent file request to users via email. + :ivar group_add_external_id: Added an external ID for group. + :ivar group_add_member: Added team members to a group. + :ivar group_change_external_id: Changed the external ID for group. + :ivar group_change_management_type: Changed group management type. + :ivar group_change_member_role: Changed the manager permissions belonging to + a group member. + :ivar group_create: Created a group. + :ivar group_delete: Deleted a group. + :ivar group_description_updated: Updated a group. + :ivar group_join_policy_updated: Updated a group join policy. + :ivar group_moved: Moved a group. This event is deprecated and will not be + logged going forward as the associated product functionality no longer + exists. + :ivar group_remove_external_id: Removed the external ID for group. + :ivar group_remove_member: Removed team members from a group. + :ivar group_rename: Renamed a group. + :ivar emm_login_success: Signed in using the Dropbox EMM app. + :ivar logout: Signed out. + :ivar password_login_fail: Failed to sign in using a password. + :ivar password_login_success: Signed in using a password. + :ivar reseller_support_session_end: Ended reseller support session. + :ivar reseller_support_session_start: Started reseller support session. + :ivar sign_in_as_session_end: Ended admin sign-in-as session. + :ivar sign_in_as_session_start: Started admin sign-in-as session. + :ivar sso_login_fail: Failed to sign in using SSO. + :ivar member_add_name: Set team member name when joining team. + :ivar member_change_email: Changed team member email address. + :ivar member_change_name: Changed team member name. + :ivar member_change_role: Change the admin permissions belonging to team + member. + :ivar member_invite: Invited a user to join the team. + :ivar member_join: Joined the team. + :ivar member_leave: Removed a team member. + :ivar member_recover: Recovered a removed member. + :ivar member_suggest: Suggested a new team member to be added to the team. + :ivar member_suspend: Suspended a team member. + :ivar member_unsuspend: Unsuspended a team member. + :ivar paper_content_add_member: Added users to the membership of a Paper doc + or folder. + :ivar paper_content_add_to_folder: Added Paper doc or folder to a folder. + :ivar paper_content_archive: Archived Paper doc or folder. + :ivar paper_content_change_subscription: Followed or unfollowed a Paper doc + or folder. + :ivar paper_content_create: Created a Paper doc or folder. + :ivar paper_content_permanently_delete: Permanently deleted a Paper doc or + folder. + :ivar paper_content_remove_from_folder: Removed Paper doc or folder from a + folder. + :ivar paper_content_remove_member: Removed a user from the membership of a + Paper doc or folder. + :ivar paper_content_rename: Renamed Paper doc or folder. + :ivar paper_content_restore: Restored an archived Paper doc or folder. + :ivar paper_doc_add_comment: Added a Paper doc comment. + :ivar paper_doc_change_member_role: Changed the access type of a Paper doc + member. + :ivar paper_doc_change_sharing_policy: Changed the sharing policy for Paper + doc. + :ivar paper_doc_deleted: Paper doc archived. This event is deprecated and + will not be logged going forward as the associated product functionality + no longer exists. + :ivar paper_doc_delete_comment: Deleted a Paper doc comment. + :ivar paper_doc_download: Downloaded a Paper doc in a particular output + format. + :ivar paper_doc_edit: Edited a Paper doc. + :ivar paper_doc_edit_comment: Edited a Paper doc comment. + :ivar paper_doc_followed: Followed a Paper doc. This event is replaced by + paper_content_change_subscription and will not be logged going forward. + :ivar paper_doc_mention: Mentioned a member in a Paper doc. + :ivar paper_doc_request_access: Requested to be a member on a Paper doc. + :ivar paper_doc_resolve_comment: Paper doc comment resolved. + :ivar paper_doc_revert: Restored a Paper doc to previous revision. + :ivar paper_doc_slack_share: Paper doc link shared via slack. + :ivar paper_doc_team_invite: Paper doc shared with team member. This event + is deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar paper_doc_unresolve_comment: Unresolved a Paper doc comment. + :ivar paper_doc_view: Viewed Paper doc. + :ivar paper_folder_deleted: Paper folder archived. This event is deprecated + and will not be logged going forward as the associated product + functionality no longer exists. + :ivar paper_folder_followed: Followed a Paper folder. This event is replaced + by paper_content_change_subscription and will not be logged going + forward. + :ivar paper_folder_team_invite: Paper folder shared with team member. This + event is deprecated and will not be logged going forward as the + associated product functionality no longer exists. + :ivar password_change: Changed password. + :ivar password_reset: Reset password. + :ivar password_reset_all: Reset all team member passwords. + :ivar emm_create_exceptions_report: EMM excluded users report created. + :ivar emm_create_usage_report: EMM mobile app usage report created. + :ivar smart_sync_create_admin_privilege_report: Smart Sync non-admin devices + report created. + :ivar team_activity_create_report: Created a team activity report. + :ivar collection_share: Shared an album. + :ivar file_add_comment: Added a file comment. + :ivar file_like_comment: Liked a file comment. This event is deprecated and + will not be logged going forward as the associated product functionality + no longer exists. + :ivar file_unlike_comment: Unliked a file comment. This event is deprecated + and will not be logged going forward as the associated product + functionality no longer exists. + :ivar note_acl_invite_only: Changed a Paper document to be invite-only. This + event is deprecated and will not be logged going forward as the + associated product functionality no longer exists. + :ivar note_acl_link: Changed a Paper document to be link accessible. This + event is deprecated and will not be logged going forward as the + associated product functionality no longer exists. + :ivar note_acl_team_link: Changed a Paper document to be link accessible for + the team. This event is deprecated and will not be logged going forward + as the associated product functionality no longer exists. + :ivar note_shared: Shared a Paper doc. This event is deprecated and will not + be logged going forward as the associated product functionality no + longer exists. + :ivar note_share_receive: Shared Paper document received. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar open_note_shared: Opened a shared Paper doc. This event is deprecated + and will not be logged going forward as the associated product + functionality no longer exists. + :ivar sf_add_group: Added the team to a shared folder. + :ivar sf_allow_non_members_to_view_shared_links: Allowed non collaborators + to view links to files in a shared folder. This event is deprecated and + will not be logged going forward as the associated product functionality + no longer exists. + :ivar sf_invite_group: Invited a group to a shared folder. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar sf_nest: Changed parent of shared folder. + :ivar sf_team_decline: Declined a team member's invitation to a shared + folder. + :ivar sf_team_grant_access: Granted access to a shared folder. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar sf_team_invite: Invited team members to a shared folder. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar sf_team_invite_change_role: Changed a team member's role in a shared + folder. This event is deprecated and will not be logged going forward as + the associated product functionality no longer exists. + :ivar sf_team_join: Joined a team member's shared folder. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar sf_team_join_from_oob_link: Joined a team member's shared folder from + a link. This event is deprecated and will not be logged going forward as + the associated product functionality no longer exists. + :ivar sf_team_uninvite: Unshared a folder with a team member. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar shared_content_add_invitees: Sent an email invitation to the + membership of a shared file or folder. + :ivar shared_content_add_link_expiry: Added an expiry to the link for the + shared file or folder. + :ivar shared_content_add_link_password: Added a password to the link for the + shared file or folder. + :ivar shared_content_add_member: Added users and/or groups to the membership + of a shared file or folder. + :ivar shared_content_change_downloads_policy: Changed whether members can + download the shared file or folder. + :ivar shared_content_change_invitee_role: Changed the access type of an + invitee to a shared file or folder before the invitation was claimed. + :ivar shared_content_change_link_audience: Changed the audience of the link + for a shared file or folder. + :ivar shared_content_change_link_expiry: Changed the expiry of the link for + the shared file or folder. + :ivar shared_content_change_link_password: Changed the password on the link + for the shared file or folder. + :ivar shared_content_change_member_role: Changed the access type of a shared + file or folder member. + :ivar shared_content_change_viewer_info_policy: Changed whether members can + see who viewed the shared file or folder. + :ivar shared_content_claim_invitation: Claimed membership to a team member's + shared folder. + :ivar shared_content_copy: Copied the shared file or folder to own Dropbox. + :ivar shared_content_download: Downloaded the shared file or folder. + :ivar shared_content_relinquish_membership: Left the membership of a shared + file or folder. + :ivar shared_content_remove_invitee: Removed an invitee from the membership + of a shared file or folder before it was claimed. + :ivar shared_content_remove_link_expiry: Removed the expiry of the link for + the shared file or folder. + :ivar shared_content_remove_link_password: Removed the password on the link + for the shared file or folder. + :ivar shared_content_remove_member: Removed a user or a group from the + membership of a shared file or folder. + :ivar shared_content_request_access: Requested to be on the membership of a + shared file or folder. + :ivar shared_content_unshare: Unshared a shared file or folder by clearing + its membership and turning off its link. + :ivar shared_content_view: Previewed the shared file or folder. + :ivar shared_folder_change_confidentiality: Set or unset the confidential + flag on a shared folder. + :ivar shared_folder_change_link_policy: Changed who can access the shared + folder via a link. + :ivar shared_folder_change_member_management_policy: Changed who can manage + the membership of a shared folder. + :ivar shared_folder_change_member_policy: Changed who can become a member of + the shared folder. + :ivar shared_folder_create: Created a shared folder. + :ivar shared_folder_mount: Added a shared folder to own Dropbox. + :ivar shared_folder_transfer_ownership: Transferred the ownership of a + shared folder to another member. + :ivar shared_folder_unmount: Deleted a shared folder from Dropbox. + :ivar shared_note_opened: Shared Paper document was opened. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar shmodel_app_create: Created a link to a file using an app. + :ivar shmodel_create: Created a new link. + :ivar shmodel_disable: Removed a link. + :ivar shmodel_fb_share: Shared a link with Facebook users. + :ivar shmodel_group_share: Shared a link with a group. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar shmodel_remove_expiration: Removed the expiration date from a link. + :ivar shmodel_set_expiration: Added an expiration date to a link. + :ivar shmodel_team_copy: Added a team member's file/folder to their Dropbox + from a link. + :ivar shmodel_team_download: Downloaded a team member's file/folder from a + link. + :ivar shmodel_team_share: Shared a link with team members. + :ivar shmodel_team_view: Opened a team member's link. + :ivar shmodel_visibility_password: Password-protected a link. + :ivar shmodel_visibility_public: Made a file/folder visible to anyone with + the link. + :ivar shmodel_visibility_team_only: Made a file/folder visible only to team + members with the link. + :ivar remove_logout_url: Removed single sign-on logout URL. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar remove_sso_url: Changed the sign-out URL for SSO. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar sso_change_cert: Changed the X.509 certificate for SSO. + :ivar sso_change_login_url: Changed the sign-in URL for SSO. + :ivar sso_change_logout_url: Changed the sign-out URL for SSO. + :ivar sso_change_saml_identity_mode: Changed the SAML identity mode for SSO. + :ivar team_folder_change_status: Changed the archival status of a team + folder. + :ivar team_folder_create: Created a new team folder in active status. + :ivar team_folder_downgrade: Downgraded a team folder to a regular shared + folder. + :ivar team_folder_permanently_delete: Permanently deleted an archived team + folder. + :ivar team_folder_rename: Renamed an active or archived team folder. + :ivar account_capture_change_policy: Changed the account capture policy on a + domain belonging to the team. + :ivar allow_download_disabled: Disabled allow downloads. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar allow_download_enabled: Enabled allow downloads. This event is + deprecated and will not be logged going forward as the associated + product functionality no longer exists. + :ivar data_placement_restriction_change_policy: Set a restriction policy + regarding the location of data centers where team data resides. + :ivar data_placement_restriction_satisfy_policy: Satisfied a previously set + restriction policy regarding the location of data centers where team + data resides (i.e. all data have been migrated according to the + restriction placed). + :ivar device_approvals_change_desktop_policy: Set or removed a limit on the + number of computers each team member can link to their work Dropbox + account. + :ivar device_approvals_change_mobile_policy: Set or removed a limit on the + number of mobiles devices each team member can link to their work + Dropbox account. + :ivar device_approvals_change_overage_action: Changed the action taken when + a team member is already over the limits (e.g when they join the team, + an admin lowers limits, etc.). + :ivar device_approvals_change_unlink_action: Changed the action taken with + respect to approval limits when a team member unlinks an approved + device. + :ivar emm_add_exception: Added an exception for one or more team members to + optionally use the regular Dropbox app when EMM is enabled. + :ivar emm_change_policy: Enabled or disabled enterprise mobility management + for team members. + :ivar emm_remove_exception: Removed an exception for one or more team + members to optionally use the regular Dropbox app when EMM is enabled. + :ivar extended_version_history_change_policy: Accepted or opted out of + extended version history. + :ivar file_comments_change_policy: Enabled or disabled commenting on team + files. + :ivar file_requests_change_policy: Enabled or disabled file requests. + :ivar file_requests_emails_enabled: Enabled file request emails for + everyone. This event is deprecated and will not be logged going forward + as the associated product functionality no longer exists. + :ivar file_requests_emails_restricted_to_team_only: Allowed file request + emails for the team. This event is deprecated and will not be logged + going forward as the associated product functionality no longer exists. + :ivar google_sso_change_policy: Enabled or disabled Google single sign-on + for the team. + :ivar group_user_management_change_policy: Changed who can create groups. + :ivar member_requests_change_policy: Changed whether users can find the team + when not invited. + :ivar member_space_limits_add_exception: Added an exception for one or more + team members to bypass space limits imposed by policy. + :ivar member_space_limits_change_policy: Changed the storage limits applied + to team members by policy. + :ivar member_space_limits_remove_exception: Removed an exception for one or + more team members to bypass space limits imposed by policy. + :ivar member_suggestions_change_policy: Enabled or disabled the option for + team members to suggest new members to add to the team. + :ivar microsoft_office_addin_change_policy: Enabled or disabled the + Microsoft Office add-in, which lets team members save files to Dropbox + directly from Microsoft Office. + :ivar network_control_change_policy: Enabled or disabled network control. + :ivar paper_change_deployment_policy: Changed whether Dropbox Paper, when + enabled, is deployed to all teams or to specific members of the team. + :ivar paper_change_member_policy: Changed whether team members can share + Paper documents externally (i.e. outside the team), and if so, whether + they should be accessible only by team members or anyone by default. + :ivar paper_change_policy: Enabled or disabled Dropbox Paper for the team. + :ivar permanent_delete_change_policy: Enabled or disabled the ability of + team members to permanently delete content. + :ivar sharing_change_folder_join_policy: Changed whether team members can + join shared folders owned externally (i.e. outside the team). + :ivar sharing_change_link_policy: Changed whether team members can share + links externally (i.e. outside the team), and if so, whether links + should be accessible only by team members or anyone by default. + :ivar sharing_change_member_policy: Changed whether team members can share + files and folders externally (i.e. outside the team). + :ivar smart_sync_change_policy: Changed the default Smart Sync policy for + team members. + :ivar sso_change_policy: Change the single sign-on policy for the team. + :ivar tfa_change_policy: Change two-step verification policy for the team. + :ivar two_account_change_policy: Enabled or disabled the option for team + members to link a personal Dropbox account in addition to their work + account to the same computer. + :ivar web_sessions_change_fixed_length_policy: Changed how long team members + can stay signed in to Dropbox on the web. + :ivar web_sessions_change_idle_length_policy: Changed how long team members + can be idle while signed in to Dropbox on the web. + :ivar team_profile_add_logo: Added a team logo to be displayed on shared + link headers. + :ivar team_profile_change_logo: Changed the team logo to be displayed on + shared link headers. + :ivar team_profile_change_name: Changed the team name. + :ivar team_profile_remove_logo: Removed the team logo to be displayed on + shared link headers. + :ivar tfa_add_backup_phone: Added a backup phone for two-step verification. + :ivar tfa_add_security_key: Added a security key for two-step verification. + :ivar tfa_change_backup_phone: Changed the backup phone for two-step + verification. + :ivar tfa_change_status: Enabled, disabled or changed the configuration for + two-step verification. + :ivar tfa_remove_backup_phone: Removed the backup phone for two-step + verification. + :ivar tfa_remove_security_key: Removed a security key for two-step + verification. + :ivar tfa_reset: Reset two-step verification for team member. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + member_change_membership_type = None + # Attribute is overwritten below the class definition + member_permanently_delete_account_contents = None + # Attribute is overwritten below the class definition + member_space_limits_change_status = None + # Attribute is overwritten below the class definition + member_transfer_account_contents = None + # Attribute is overwritten below the class definition + paper_enabled_users_group_addition = None + # Attribute is overwritten below the class definition + paper_enabled_users_group_removal = None + # Attribute is overwritten below the class definition + paper_external_view_allow = None + # Attribute is overwritten below the class definition + paper_external_view_default_team = None + # Attribute is overwritten below the class definition + paper_external_view_forbid = None + # Attribute is overwritten below the class definition + sf_external_invite_warn = None + # Attribute is overwritten below the class definition + team_merge = None + # Attribute is overwritten below the class definition + app_link_team = None + # Attribute is overwritten below the class definition + app_link_user = None + # Attribute is overwritten below the class definition + app_unlink_team = None + # Attribute is overwritten below the class definition + app_unlink_user = None + # Attribute is overwritten below the class definition + device_change_ip_desktop = None + # Attribute is overwritten below the class definition + device_change_ip_mobile = None + # Attribute is overwritten below the class definition + device_change_ip_web = None + # Attribute is overwritten below the class definition + device_delete_on_unlink_fail = None + # Attribute is overwritten below the class definition + device_delete_on_unlink_success = None + # Attribute is overwritten below the class definition + device_link_fail = None + # Attribute is overwritten below the class definition + device_link_success = None + # Attribute is overwritten below the class definition + device_management_disabled = None + # Attribute is overwritten below the class definition + device_management_enabled = None + # Attribute is overwritten below the class definition + device_unlink = None + # Attribute is overwritten below the class definition + emm_refresh_auth_token = None + # Attribute is overwritten below the class definition + account_capture_change_availability = None + # Attribute is overwritten below the class definition + account_capture_migrate_account = None + # Attribute is overwritten below the class definition + account_capture_relinquish_account = None + # Attribute is overwritten below the class definition + disabled_domain_invites = None + # Attribute is overwritten below the class definition + domain_invites_approve_request_to_join_team = None + # Attribute is overwritten below the class definition + domain_invites_decline_request_to_join_team = None + # Attribute is overwritten below the class definition + domain_invites_email_existing_users = None + # Attribute is overwritten below the class definition + domain_invites_request_to_join_team = None + # Attribute is overwritten below the class definition + domain_invites_set_invite_new_user_pref_to_no = None + # Attribute is overwritten below the class definition + domain_invites_set_invite_new_user_pref_to_yes = None + # Attribute is overwritten below the class definition + domain_verification_add_domain_fail = None + # Attribute is overwritten below the class definition + domain_verification_add_domain_success = None + # Attribute is overwritten below the class definition + domain_verification_remove_domain = None + # Attribute is overwritten below the class definition + enabled_domain_invites = None + # Attribute is overwritten below the class definition + create_folder = None + # Attribute is overwritten below the class definition + file_add = None + # Attribute is overwritten below the class definition + file_copy = None + # Attribute is overwritten below the class definition + file_delete = None + # Attribute is overwritten below the class definition + file_download = None + # Attribute is overwritten below the class definition + file_edit = None + # Attribute is overwritten below the class definition + file_get_copy_reference = None + # Attribute is overwritten below the class definition + file_move = None + # Attribute is overwritten below the class definition + file_permanently_delete = None + # Attribute is overwritten below the class definition + file_preview = None + # Attribute is overwritten below the class definition + file_rename = None + # Attribute is overwritten below the class definition + file_restore = None + # Attribute is overwritten below the class definition + file_revert = None + # Attribute is overwritten below the class definition + file_rollback_changes = None + # Attribute is overwritten below the class definition + file_save_copy_reference = None + # Attribute is overwritten below the class definition + file_request_add_deadline = None + # Attribute is overwritten below the class definition + file_request_change_folder = None + # Attribute is overwritten below the class definition + file_request_change_title = None + # Attribute is overwritten below the class definition + file_request_close = None + # Attribute is overwritten below the class definition + file_request_create = None + # Attribute is overwritten below the class definition + file_request_receive_file = None + # Attribute is overwritten below the class definition + file_request_remove_deadline = None + # Attribute is overwritten below the class definition + file_request_send = None + # Attribute is overwritten below the class definition + group_add_external_id = None + # Attribute is overwritten below the class definition + group_add_member = None + # Attribute is overwritten below the class definition + group_change_external_id = None + # Attribute is overwritten below the class definition + group_change_management_type = None + # Attribute is overwritten below the class definition + group_change_member_role = None + # Attribute is overwritten below the class definition + group_create = None + # Attribute is overwritten below the class definition + group_delete = None + # Attribute is overwritten below the class definition + group_description_updated = None + # Attribute is overwritten below the class definition + group_join_policy_updated = None + # Attribute is overwritten below the class definition + group_moved = None + # Attribute is overwritten below the class definition + group_remove_external_id = None + # Attribute is overwritten below the class definition + group_remove_member = None + # Attribute is overwritten below the class definition + group_rename = None + # Attribute is overwritten below the class definition + emm_login_success = None + # Attribute is overwritten below the class definition + logout = None + # Attribute is overwritten below the class definition + password_login_fail = None + # Attribute is overwritten below the class definition + password_login_success = None + # Attribute is overwritten below the class definition + reseller_support_session_end = None + # Attribute is overwritten below the class definition + reseller_support_session_start = None + # Attribute is overwritten below the class definition + sign_in_as_session_end = None + # Attribute is overwritten below the class definition + sign_in_as_session_start = None + # Attribute is overwritten below the class definition + sso_login_fail = None + # Attribute is overwritten below the class definition + member_add_name = None + # Attribute is overwritten below the class definition + member_change_email = None + # Attribute is overwritten below the class definition + member_change_name = None + # Attribute is overwritten below the class definition + member_change_role = None + # Attribute is overwritten below the class definition + member_invite = None + # Attribute is overwritten below the class definition + member_join = None + # Attribute is overwritten below the class definition + member_leave = None + # Attribute is overwritten below the class definition + member_recover = None + # Attribute is overwritten below the class definition + member_suggest = None + # Attribute is overwritten below the class definition + member_suspend = None + # Attribute is overwritten below the class definition + member_unsuspend = None + # Attribute is overwritten below the class definition + paper_content_add_member = None + # Attribute is overwritten below the class definition + paper_content_add_to_folder = None + # Attribute is overwritten below the class definition + paper_content_archive = None + # Attribute is overwritten below the class definition + paper_content_change_subscription = None + # Attribute is overwritten below the class definition + paper_content_create = None + # Attribute is overwritten below the class definition + paper_content_permanently_delete = None + # Attribute is overwritten below the class definition + paper_content_remove_from_folder = None + # Attribute is overwritten below the class definition + paper_content_remove_member = None + # Attribute is overwritten below the class definition + paper_content_rename = None + # Attribute is overwritten below the class definition + paper_content_restore = None + # Attribute is overwritten below the class definition + paper_doc_add_comment = None + # Attribute is overwritten below the class definition + paper_doc_change_member_role = None + # Attribute is overwritten below the class definition + paper_doc_change_sharing_policy = None + # Attribute is overwritten below the class definition + paper_doc_deleted = None + # Attribute is overwritten below the class definition + paper_doc_delete_comment = None + # Attribute is overwritten below the class definition + paper_doc_download = None + # Attribute is overwritten below the class definition + paper_doc_edit = None + # Attribute is overwritten below the class definition + paper_doc_edit_comment = None + # Attribute is overwritten below the class definition + paper_doc_followed = None + # Attribute is overwritten below the class definition + paper_doc_mention = None + # Attribute is overwritten below the class definition + paper_doc_request_access = None + # Attribute is overwritten below the class definition + paper_doc_resolve_comment = None + # Attribute is overwritten below the class definition + paper_doc_revert = None + # Attribute is overwritten below the class definition + paper_doc_slack_share = None + # Attribute is overwritten below the class definition + paper_doc_team_invite = None + # Attribute is overwritten below the class definition + paper_doc_unresolve_comment = None + # Attribute is overwritten below the class definition + paper_doc_view = None + # Attribute is overwritten below the class definition + paper_folder_deleted = None + # Attribute is overwritten below the class definition + paper_folder_followed = None + # Attribute is overwritten below the class definition + paper_folder_team_invite = None + # Attribute is overwritten below the class definition + password_change = None + # Attribute is overwritten below the class definition + password_reset = None + # Attribute is overwritten below the class definition + password_reset_all = None + # Attribute is overwritten below the class definition + emm_create_exceptions_report = None + # Attribute is overwritten below the class definition + emm_create_usage_report = None + # Attribute is overwritten below the class definition + smart_sync_create_admin_privilege_report = None + # Attribute is overwritten below the class definition + team_activity_create_report = None + # Attribute is overwritten below the class definition + collection_share = None + # Attribute is overwritten below the class definition + file_add_comment = None + # Attribute is overwritten below the class definition + file_like_comment = None + # Attribute is overwritten below the class definition + file_unlike_comment = None + # Attribute is overwritten below the class definition + note_acl_invite_only = None + # Attribute is overwritten below the class definition + note_acl_link = None + # Attribute is overwritten below the class definition + note_acl_team_link = None + # Attribute is overwritten below the class definition + note_shared = None + # Attribute is overwritten below the class definition + note_share_receive = None + # Attribute is overwritten below the class definition + open_note_shared = None + # Attribute is overwritten below the class definition + sf_add_group = None + # Attribute is overwritten below the class definition + sf_allow_non_members_to_view_shared_links = None + # Attribute is overwritten below the class definition + sf_invite_group = None + # Attribute is overwritten below the class definition + sf_nest = None + # Attribute is overwritten below the class definition + sf_team_decline = None + # Attribute is overwritten below the class definition + sf_team_grant_access = None + # Attribute is overwritten below the class definition + sf_team_invite = None + # Attribute is overwritten below the class definition + sf_team_invite_change_role = None + # Attribute is overwritten below the class definition + sf_team_join = None + # Attribute is overwritten below the class definition + sf_team_join_from_oob_link = None + # Attribute is overwritten below the class definition + sf_team_uninvite = None + # Attribute is overwritten below the class definition + shared_content_add_invitees = None + # Attribute is overwritten below the class definition + shared_content_add_link_expiry = None + # Attribute is overwritten below the class definition + shared_content_add_link_password = None + # Attribute is overwritten below the class definition + shared_content_add_member = None + # Attribute is overwritten below the class definition + shared_content_change_downloads_policy = None + # Attribute is overwritten below the class definition + shared_content_change_invitee_role = None + # Attribute is overwritten below the class definition + shared_content_change_link_audience = None + # Attribute is overwritten below the class definition + shared_content_change_link_expiry = None + # Attribute is overwritten below the class definition + shared_content_change_link_password = None + # Attribute is overwritten below the class definition + shared_content_change_member_role = None + # Attribute is overwritten below the class definition + shared_content_change_viewer_info_policy = None + # Attribute is overwritten below the class definition + shared_content_claim_invitation = None + # Attribute is overwritten below the class definition + shared_content_copy = None + # Attribute is overwritten below the class definition + shared_content_download = None + # Attribute is overwritten below the class definition + shared_content_relinquish_membership = None + # Attribute is overwritten below the class definition + shared_content_remove_invitee = None + # Attribute is overwritten below the class definition + shared_content_remove_link_expiry = None + # Attribute is overwritten below the class definition + shared_content_remove_link_password = None + # Attribute is overwritten below the class definition + shared_content_remove_member = None + # Attribute is overwritten below the class definition + shared_content_request_access = None + # Attribute is overwritten below the class definition + shared_content_unshare = None + # Attribute is overwritten below the class definition + shared_content_view = None + # Attribute is overwritten below the class definition + shared_folder_change_confidentiality = None + # Attribute is overwritten below the class definition + shared_folder_change_link_policy = None + # Attribute is overwritten below the class definition + shared_folder_change_member_management_policy = None + # Attribute is overwritten below the class definition + shared_folder_change_member_policy = None + # Attribute is overwritten below the class definition + shared_folder_create = None + # Attribute is overwritten below the class definition + shared_folder_mount = None + # Attribute is overwritten below the class definition + shared_folder_transfer_ownership = None + # Attribute is overwritten below the class definition + shared_folder_unmount = None + # Attribute is overwritten below the class definition + shared_note_opened = None + # Attribute is overwritten below the class definition + shmodel_app_create = None + # Attribute is overwritten below the class definition + shmodel_create = None + # Attribute is overwritten below the class definition + shmodel_disable = None + # Attribute is overwritten below the class definition + shmodel_fb_share = None + # Attribute is overwritten below the class definition + shmodel_group_share = None + # Attribute is overwritten below the class definition + shmodel_remove_expiration = None + # Attribute is overwritten below the class definition + shmodel_set_expiration = None + # Attribute is overwritten below the class definition + shmodel_team_copy = None + # Attribute is overwritten below the class definition + shmodel_team_download = None + # Attribute is overwritten below the class definition + shmodel_team_share = None + # Attribute is overwritten below the class definition + shmodel_team_view = None + # Attribute is overwritten below the class definition + shmodel_visibility_password = None + # Attribute is overwritten below the class definition + shmodel_visibility_public = None + # Attribute is overwritten below the class definition + shmodel_visibility_team_only = None + # Attribute is overwritten below the class definition + remove_logout_url = None + # Attribute is overwritten below the class definition + remove_sso_url = None + # Attribute is overwritten below the class definition + sso_change_cert = None + # Attribute is overwritten below the class definition + sso_change_login_url = None + # Attribute is overwritten below the class definition + sso_change_logout_url = None + # Attribute is overwritten below the class definition + sso_change_saml_identity_mode = None + # Attribute is overwritten below the class definition + team_folder_change_status = None + # Attribute is overwritten below the class definition + team_folder_create = None + # Attribute is overwritten below the class definition + team_folder_downgrade = None + # Attribute is overwritten below the class definition + team_folder_permanently_delete = None + # Attribute is overwritten below the class definition + team_folder_rename = None + # Attribute is overwritten below the class definition + account_capture_change_policy = None + # Attribute is overwritten below the class definition + allow_download_disabled = None + # Attribute is overwritten below the class definition + allow_download_enabled = None + # Attribute is overwritten below the class definition + data_placement_restriction_change_policy = None + # Attribute is overwritten below the class definition + data_placement_restriction_satisfy_policy = None + # Attribute is overwritten below the class definition + device_approvals_change_desktop_policy = None + # Attribute is overwritten below the class definition + device_approvals_change_mobile_policy = None + # Attribute is overwritten below the class definition + device_approvals_change_overage_action = None + # Attribute is overwritten below the class definition + device_approvals_change_unlink_action = None + # Attribute is overwritten below the class definition + emm_add_exception = None + # Attribute is overwritten below the class definition + emm_change_policy = None + # Attribute is overwritten below the class definition + emm_remove_exception = None + # Attribute is overwritten below the class definition + extended_version_history_change_policy = None + # Attribute is overwritten below the class definition + file_comments_change_policy = None + # Attribute is overwritten below the class definition + file_requests_change_policy = None + # Attribute is overwritten below the class definition + file_requests_emails_enabled = None + # Attribute is overwritten below the class definition + file_requests_emails_restricted_to_team_only = None + # Attribute is overwritten below the class definition + google_sso_change_policy = None + # Attribute is overwritten below the class definition + group_user_management_change_policy = None + # Attribute is overwritten below the class definition + member_requests_change_policy = None + # Attribute is overwritten below the class definition + member_space_limits_add_exception = None + # Attribute is overwritten below the class definition + member_space_limits_change_policy = None + # Attribute is overwritten below the class definition + member_space_limits_remove_exception = None + # Attribute is overwritten below the class definition + member_suggestions_change_policy = None + # Attribute is overwritten below the class definition + microsoft_office_addin_change_policy = None + # Attribute is overwritten below the class definition + network_control_change_policy = None + # Attribute is overwritten below the class definition + paper_change_deployment_policy = None + # Attribute is overwritten below the class definition + paper_change_member_policy = None + # Attribute is overwritten below the class definition + paper_change_policy = None + # Attribute is overwritten below the class definition + permanent_delete_change_policy = None + # Attribute is overwritten below the class definition + sharing_change_folder_join_policy = None + # Attribute is overwritten below the class definition + sharing_change_link_policy = None + # Attribute is overwritten below the class definition + sharing_change_member_policy = None + # Attribute is overwritten below the class definition + smart_sync_change_policy = None + # Attribute is overwritten below the class definition + sso_change_policy = None + # Attribute is overwritten below the class definition + tfa_change_policy = None + # Attribute is overwritten below the class definition + two_account_change_policy = None + # Attribute is overwritten below the class definition + web_sessions_change_fixed_length_policy = None + # Attribute is overwritten below the class definition + web_sessions_change_idle_length_policy = None + # Attribute is overwritten below the class definition + team_profile_add_logo = None + # Attribute is overwritten below the class definition + team_profile_change_logo = None + # Attribute is overwritten below the class definition + team_profile_change_name = None + # Attribute is overwritten below the class definition + team_profile_remove_logo = None + # Attribute is overwritten below the class definition + tfa_add_backup_phone = None + # Attribute is overwritten below the class definition + tfa_add_security_key = None + # Attribute is overwritten below the class definition + tfa_change_backup_phone = None + # Attribute is overwritten below the class definition + tfa_change_status = None + # Attribute is overwritten below the class definition + tfa_remove_backup_phone = None + # Attribute is overwritten below the class definition + tfa_remove_security_key = None + # Attribute is overwritten below the class definition + tfa_reset = None + # Attribute is overwritten below the class definition + other = None + + def is_member_change_membership_type(self): + """ + Check if the union tag is ``member_change_membership_type``. + + :rtype: bool + """ + return self._tag == 'member_change_membership_type' + + def is_member_permanently_delete_account_contents(self): + """ + Check if the union tag is ``member_permanently_delete_account_contents``. + + :rtype: bool + """ + return self._tag == 'member_permanently_delete_account_contents' + + def is_member_space_limits_change_status(self): + """ + Check if the union tag is ``member_space_limits_change_status``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_status' + + def is_member_transfer_account_contents(self): + """ + Check if the union tag is ``member_transfer_account_contents``. + + :rtype: bool + """ + return self._tag == 'member_transfer_account_contents' + + def is_paper_enabled_users_group_addition(self): + """ + Check if the union tag is ``paper_enabled_users_group_addition``. + + :rtype: bool + """ + return self._tag == 'paper_enabled_users_group_addition' + + def is_paper_enabled_users_group_removal(self): + """ + Check if the union tag is ``paper_enabled_users_group_removal``. + + :rtype: bool + """ + return self._tag == 'paper_enabled_users_group_removal' + + def is_paper_external_view_allow(self): + """ + Check if the union tag is ``paper_external_view_allow``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_allow' + + def is_paper_external_view_default_team(self): + """ + Check if the union tag is ``paper_external_view_default_team``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_default_team' + + def is_paper_external_view_forbid(self): + """ + Check if the union tag is ``paper_external_view_forbid``. + + :rtype: bool + """ + return self._tag == 'paper_external_view_forbid' + + def is_sf_external_invite_warn(self): + """ + Check if the union tag is ``sf_external_invite_warn``. + + :rtype: bool + """ + return self._tag == 'sf_external_invite_warn' + + def is_team_merge(self): + """ + Check if the union tag is ``team_merge``. + + :rtype: bool + """ + return self._tag == 'team_merge' + + def is_app_link_team(self): + """ + Check if the union tag is ``app_link_team``. + + :rtype: bool + """ + return self._tag == 'app_link_team' + + def is_app_link_user(self): + """ + Check if the union tag is ``app_link_user``. + + :rtype: bool + """ + return self._tag == 'app_link_user' + + def is_app_unlink_team(self): + """ + Check if the union tag is ``app_unlink_team``. + + :rtype: bool + """ + return self._tag == 'app_unlink_team' + + def is_app_unlink_user(self): + """ + Check if the union tag is ``app_unlink_user``. + + :rtype: bool + """ + return self._tag == 'app_unlink_user' + + def is_device_change_ip_desktop(self): + """ + Check if the union tag is ``device_change_ip_desktop``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_desktop' + + def is_device_change_ip_mobile(self): + """ + Check if the union tag is ``device_change_ip_mobile``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_mobile' + + def is_device_change_ip_web(self): + """ + Check if the union tag is ``device_change_ip_web``. + + :rtype: bool + """ + return self._tag == 'device_change_ip_web' + + def is_device_delete_on_unlink_fail(self): + """ + Check if the union tag is ``device_delete_on_unlink_fail``. + + :rtype: bool + """ + return self._tag == 'device_delete_on_unlink_fail' + + def is_device_delete_on_unlink_success(self): + """ + Check if the union tag is ``device_delete_on_unlink_success``. + + :rtype: bool + """ + return self._tag == 'device_delete_on_unlink_success' + + def is_device_link_fail(self): + """ + Check if the union tag is ``device_link_fail``. + + :rtype: bool + """ + return self._tag == 'device_link_fail' + + def is_device_link_success(self): + """ + Check if the union tag is ``device_link_success``. + + :rtype: bool + """ + return self._tag == 'device_link_success' + + def is_device_management_disabled(self): + """ + Check if the union tag is ``device_management_disabled``. + + :rtype: bool + """ + return self._tag == 'device_management_disabled' + + def is_device_management_enabled(self): + """ + Check if the union tag is ``device_management_enabled``. + + :rtype: bool + """ + return self._tag == 'device_management_enabled' + + def is_device_unlink(self): + """ + Check if the union tag is ``device_unlink``. + + :rtype: bool + """ + return self._tag == 'device_unlink' + + def is_emm_refresh_auth_token(self): + """ + Check if the union tag is ``emm_refresh_auth_token``. + + :rtype: bool + """ + return self._tag == 'emm_refresh_auth_token' + + def is_account_capture_change_availability(self): + """ + Check if the union tag is ``account_capture_change_availability``. + + :rtype: bool + """ + return self._tag == 'account_capture_change_availability' + + def is_account_capture_migrate_account(self): + """ + Check if the union tag is ``account_capture_migrate_account``. + + :rtype: bool + """ + return self._tag == 'account_capture_migrate_account' + + def is_account_capture_relinquish_account(self): + """ + Check if the union tag is ``account_capture_relinquish_account``. + + :rtype: bool + """ + return self._tag == 'account_capture_relinquish_account' + + def is_disabled_domain_invites(self): + """ + Check if the union tag is ``disabled_domain_invites``. + + :rtype: bool + """ + return self._tag == 'disabled_domain_invites' + + def is_domain_invites_approve_request_to_join_team(self): + """ + Check if the union tag is ``domain_invites_approve_request_to_join_team``. + + :rtype: bool + """ + return self._tag == 'domain_invites_approve_request_to_join_team' + + def is_domain_invites_decline_request_to_join_team(self): + """ + Check if the union tag is ``domain_invites_decline_request_to_join_team``. + + :rtype: bool + """ + return self._tag == 'domain_invites_decline_request_to_join_team' + + def is_domain_invites_email_existing_users(self): + """ + Check if the union tag is ``domain_invites_email_existing_users``. + + :rtype: bool + """ + return self._tag == 'domain_invites_email_existing_users' + + def is_domain_invites_request_to_join_team(self): + """ + Check if the union tag is ``domain_invites_request_to_join_team``. + + :rtype: bool + """ + return self._tag == 'domain_invites_request_to_join_team' + + def is_domain_invites_set_invite_new_user_pref_to_no(self): + """ + Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_no``. + + :rtype: bool + """ + return self._tag == 'domain_invites_set_invite_new_user_pref_to_no' + + def is_domain_invites_set_invite_new_user_pref_to_yes(self): + """ + Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_yes``. + + :rtype: bool + """ + return self._tag == 'domain_invites_set_invite_new_user_pref_to_yes' + + def is_domain_verification_add_domain_fail(self): + """ + Check if the union tag is ``domain_verification_add_domain_fail``. + + :rtype: bool + """ + return self._tag == 'domain_verification_add_domain_fail' + + def is_domain_verification_add_domain_success(self): + """ + Check if the union tag is ``domain_verification_add_domain_success``. + + :rtype: bool + """ + return self._tag == 'domain_verification_add_domain_success' + + def is_domain_verification_remove_domain(self): + """ + Check if the union tag is ``domain_verification_remove_domain``. + + :rtype: bool + """ + return self._tag == 'domain_verification_remove_domain' + + def is_enabled_domain_invites(self): + """ + Check if the union tag is ``enabled_domain_invites``. + + :rtype: bool + """ + return self._tag == 'enabled_domain_invites' + + def is_create_folder(self): + """ + Check if the union tag is ``create_folder``. + + :rtype: bool + """ + return self._tag == 'create_folder' + + def is_file_add(self): + """ + Check if the union tag is ``file_add``. + + :rtype: bool + """ + return self._tag == 'file_add' + + def is_file_copy(self): + """ + Check if the union tag is ``file_copy``. + + :rtype: bool + """ + return self._tag == 'file_copy' + + def is_file_delete(self): + """ + Check if the union tag is ``file_delete``. + + :rtype: bool + """ + return self._tag == 'file_delete' + + def is_file_download(self): + """ + Check if the union tag is ``file_download``. + + :rtype: bool + """ + return self._tag == 'file_download' + + def is_file_edit(self): + """ + Check if the union tag is ``file_edit``. + + :rtype: bool + """ + return self._tag == 'file_edit' + + def is_file_get_copy_reference(self): + """ + Check if the union tag is ``file_get_copy_reference``. + + :rtype: bool + """ + return self._tag == 'file_get_copy_reference' + + def is_file_move(self): + """ + Check if the union tag is ``file_move``. + + :rtype: bool + """ + return self._tag == 'file_move' + + def is_file_permanently_delete(self): + """ + Check if the union tag is ``file_permanently_delete``. + + :rtype: bool + """ + return self._tag == 'file_permanently_delete' + + def is_file_preview(self): + """ + Check if the union tag is ``file_preview``. + + :rtype: bool + """ + return self._tag == 'file_preview' + + def is_file_rename(self): + """ + Check if the union tag is ``file_rename``. + + :rtype: bool + """ + return self._tag == 'file_rename' + + def is_file_restore(self): + """ + Check if the union tag is ``file_restore``. + + :rtype: bool + """ + return self._tag == 'file_restore' + + def is_file_revert(self): + """ + Check if the union tag is ``file_revert``. + + :rtype: bool + """ + return self._tag == 'file_revert' + + def is_file_rollback_changes(self): + """ + Check if the union tag is ``file_rollback_changes``. + + :rtype: bool + """ + return self._tag == 'file_rollback_changes' + + def is_file_save_copy_reference(self): + """ + Check if the union tag is ``file_save_copy_reference``. + + :rtype: bool + """ + return self._tag == 'file_save_copy_reference' + + def is_file_request_add_deadline(self): + """ + Check if the union tag is ``file_request_add_deadline``. + + :rtype: bool + """ + return self._tag == 'file_request_add_deadline' + + def is_file_request_change_folder(self): + """ + Check if the union tag is ``file_request_change_folder``. + + :rtype: bool + """ + return self._tag == 'file_request_change_folder' + + def is_file_request_change_title(self): + """ + Check if the union tag is ``file_request_change_title``. + + :rtype: bool + """ + return self._tag == 'file_request_change_title' + + def is_file_request_close(self): + """ + Check if the union tag is ``file_request_close``. + + :rtype: bool + """ + return self._tag == 'file_request_close' + + def is_file_request_create(self): + """ + Check if the union tag is ``file_request_create``. + + :rtype: bool + """ + return self._tag == 'file_request_create' + + def is_file_request_receive_file(self): + """ + Check if the union tag is ``file_request_receive_file``. + + :rtype: bool + """ + return self._tag == 'file_request_receive_file' + + def is_file_request_remove_deadline(self): + """ + Check if the union tag is ``file_request_remove_deadline``. + + :rtype: bool + """ + return self._tag == 'file_request_remove_deadline' + + def is_file_request_send(self): + """ + Check if the union tag is ``file_request_send``. + + :rtype: bool + """ + return self._tag == 'file_request_send' + + def is_group_add_external_id(self): + """ + Check if the union tag is ``group_add_external_id``. + + :rtype: bool + """ + return self._tag == 'group_add_external_id' + + def is_group_add_member(self): + """ + Check if the union tag is ``group_add_member``. + + :rtype: bool + """ + return self._tag == 'group_add_member' + + def is_group_change_external_id(self): + """ + Check if the union tag is ``group_change_external_id``. + + :rtype: bool + """ + return self._tag == 'group_change_external_id' + + def is_group_change_management_type(self): + """ + Check if the union tag is ``group_change_management_type``. + + :rtype: bool + """ + return self._tag == 'group_change_management_type' + + def is_group_change_member_role(self): + """ + Check if the union tag is ``group_change_member_role``. + + :rtype: bool + """ + return self._tag == 'group_change_member_role' + + def is_group_create(self): + """ + Check if the union tag is ``group_create``. + + :rtype: bool + """ + return self._tag == 'group_create' + + def is_group_delete(self): + """ + Check if the union tag is ``group_delete``. + + :rtype: bool + """ + return self._tag == 'group_delete' + + def is_group_description_updated(self): + """ + Check if the union tag is ``group_description_updated``. + + :rtype: bool + """ + return self._tag == 'group_description_updated' + + def is_group_join_policy_updated(self): + """ + Check if the union tag is ``group_join_policy_updated``. + + :rtype: bool + """ + return self._tag == 'group_join_policy_updated' + + def is_group_moved(self): + """ + Check if the union tag is ``group_moved``. + + :rtype: bool + """ + return self._tag == 'group_moved' + + def is_group_remove_external_id(self): + """ + Check if the union tag is ``group_remove_external_id``. + + :rtype: bool + """ + return self._tag == 'group_remove_external_id' + + def is_group_remove_member(self): + """ + Check if the union tag is ``group_remove_member``. + + :rtype: bool + """ + return self._tag == 'group_remove_member' + + def is_group_rename(self): + """ + Check if the union tag is ``group_rename``. + + :rtype: bool + """ + return self._tag == 'group_rename' + + def is_emm_login_success(self): + """ + Check if the union tag is ``emm_login_success``. + + :rtype: bool + """ + return self._tag == 'emm_login_success' + + def is_logout(self): + """ + Check if the union tag is ``logout``. + + :rtype: bool + """ + return self._tag == 'logout' + + def is_password_login_fail(self): + """ + Check if the union tag is ``password_login_fail``. + + :rtype: bool + """ + return self._tag == 'password_login_fail' + + def is_password_login_success(self): + """ + Check if the union tag is ``password_login_success``. + + :rtype: bool + """ + return self._tag == 'password_login_success' + + def is_reseller_support_session_end(self): + """ + Check if the union tag is ``reseller_support_session_end``. + + :rtype: bool + """ + return self._tag == 'reseller_support_session_end' + + def is_reseller_support_session_start(self): + """ + Check if the union tag is ``reseller_support_session_start``. + + :rtype: bool + """ + return self._tag == 'reseller_support_session_start' + + def is_sign_in_as_session_end(self): + """ + Check if the union tag is ``sign_in_as_session_end``. + + :rtype: bool + """ + return self._tag == 'sign_in_as_session_end' + + def is_sign_in_as_session_start(self): + """ + Check if the union tag is ``sign_in_as_session_start``. + + :rtype: bool + """ + return self._tag == 'sign_in_as_session_start' + + def is_sso_login_fail(self): + """ + Check if the union tag is ``sso_login_fail``. + + :rtype: bool + """ + return self._tag == 'sso_login_fail' + + def is_member_add_name(self): + """ + Check if the union tag is ``member_add_name``. + + :rtype: bool + """ + return self._tag == 'member_add_name' + + def is_member_change_email(self): + """ + Check if the union tag is ``member_change_email``. + + :rtype: bool + """ + return self._tag == 'member_change_email' + + def is_member_change_name(self): + """ + Check if the union tag is ``member_change_name``. + + :rtype: bool + """ + return self._tag == 'member_change_name' + + def is_member_change_role(self): + """ + Check if the union tag is ``member_change_role``. + + :rtype: bool + """ + return self._tag == 'member_change_role' + + def is_member_invite(self): + """ + Check if the union tag is ``member_invite``. + + :rtype: bool + """ + return self._tag == 'member_invite' + + def is_member_join(self): + """ + Check if the union tag is ``member_join``. + + :rtype: bool + """ + return self._tag == 'member_join' + + def is_member_leave(self): + """ + Check if the union tag is ``member_leave``. + + :rtype: bool + """ + return self._tag == 'member_leave' + + def is_member_recover(self): + """ + Check if the union tag is ``member_recover``. + + :rtype: bool + """ + return self._tag == 'member_recover' + + def is_member_suggest(self): + """ + Check if the union tag is ``member_suggest``. + + :rtype: bool + """ + return self._tag == 'member_suggest' + + def is_member_suspend(self): + """ + Check if the union tag is ``member_suspend``. + + :rtype: bool + """ + return self._tag == 'member_suspend' + + def is_member_unsuspend(self): + """ + Check if the union tag is ``member_unsuspend``. + + :rtype: bool + """ + return self._tag == 'member_unsuspend' + + def is_paper_content_add_member(self): + """ + Check if the union tag is ``paper_content_add_member``. + + :rtype: bool + """ + return self._tag == 'paper_content_add_member' + + def is_paper_content_add_to_folder(self): + """ + Check if the union tag is ``paper_content_add_to_folder``. + + :rtype: bool + """ + return self._tag == 'paper_content_add_to_folder' + + def is_paper_content_archive(self): + """ + Check if the union tag is ``paper_content_archive``. + + :rtype: bool + """ + return self._tag == 'paper_content_archive' + + def is_paper_content_change_subscription(self): + """ + Check if the union tag is ``paper_content_change_subscription``. + + :rtype: bool + """ + return self._tag == 'paper_content_change_subscription' + + def is_paper_content_create(self): + """ + Check if the union tag is ``paper_content_create``. + + :rtype: bool + """ + return self._tag == 'paper_content_create' + + def is_paper_content_permanently_delete(self): + """ + Check if the union tag is ``paper_content_permanently_delete``. + + :rtype: bool + """ + return self._tag == 'paper_content_permanently_delete' + + def is_paper_content_remove_from_folder(self): + """ + Check if the union tag is ``paper_content_remove_from_folder``. + + :rtype: bool + """ + return self._tag == 'paper_content_remove_from_folder' + + def is_paper_content_remove_member(self): + """ + Check if the union tag is ``paper_content_remove_member``. + + :rtype: bool + """ + return self._tag == 'paper_content_remove_member' + + def is_paper_content_rename(self): + """ + Check if the union tag is ``paper_content_rename``. + + :rtype: bool + """ + return self._tag == 'paper_content_rename' + + def is_paper_content_restore(self): + """ + Check if the union tag is ``paper_content_restore``. + + :rtype: bool + """ + return self._tag == 'paper_content_restore' + + def is_paper_doc_add_comment(self): + """ + Check if the union tag is ``paper_doc_add_comment``. + + :rtype: bool + """ + return self._tag == 'paper_doc_add_comment' + + def is_paper_doc_change_member_role(self): + """ + Check if the union tag is ``paper_doc_change_member_role``. + + :rtype: bool + """ + return self._tag == 'paper_doc_change_member_role' + + def is_paper_doc_change_sharing_policy(self): + """ + Check if the union tag is ``paper_doc_change_sharing_policy``. + + :rtype: bool + """ + return self._tag == 'paper_doc_change_sharing_policy' + + def is_paper_doc_deleted(self): + """ + Check if the union tag is ``paper_doc_deleted``. + + :rtype: bool + """ + return self._tag == 'paper_doc_deleted' + + def is_paper_doc_delete_comment(self): + """ + Check if the union tag is ``paper_doc_delete_comment``. + + :rtype: bool + """ + return self._tag == 'paper_doc_delete_comment' + + def is_paper_doc_download(self): + """ + Check if the union tag is ``paper_doc_download``. + + :rtype: bool + """ + return self._tag == 'paper_doc_download' + + def is_paper_doc_edit(self): + """ + Check if the union tag is ``paper_doc_edit``. + + :rtype: bool + """ + return self._tag == 'paper_doc_edit' + + def is_paper_doc_edit_comment(self): + """ + Check if the union tag is ``paper_doc_edit_comment``. + + :rtype: bool + """ + return self._tag == 'paper_doc_edit_comment' + + def is_paper_doc_followed(self): + """ + Check if the union tag is ``paper_doc_followed``. + + :rtype: bool + """ + return self._tag == 'paper_doc_followed' + + def is_paper_doc_mention(self): + """ + Check if the union tag is ``paper_doc_mention``. + + :rtype: bool + """ + return self._tag == 'paper_doc_mention' + + def is_paper_doc_request_access(self): + """ + Check if the union tag is ``paper_doc_request_access``. + + :rtype: bool + """ + return self._tag == 'paper_doc_request_access' + + def is_paper_doc_resolve_comment(self): + """ + Check if the union tag is ``paper_doc_resolve_comment``. + + :rtype: bool + """ + return self._tag == 'paper_doc_resolve_comment' + + def is_paper_doc_revert(self): + """ + Check if the union tag is ``paper_doc_revert``. + + :rtype: bool + """ + return self._tag == 'paper_doc_revert' + + def is_paper_doc_slack_share(self): + """ + Check if the union tag is ``paper_doc_slack_share``. + + :rtype: bool + """ + return self._tag == 'paper_doc_slack_share' + + def is_paper_doc_team_invite(self): + """ + Check if the union tag is ``paper_doc_team_invite``. + + :rtype: bool + """ + return self._tag == 'paper_doc_team_invite' + + def is_paper_doc_unresolve_comment(self): + """ + Check if the union tag is ``paper_doc_unresolve_comment``. + + :rtype: bool + """ + return self._tag == 'paper_doc_unresolve_comment' + + def is_paper_doc_view(self): + """ + Check if the union tag is ``paper_doc_view``. + + :rtype: bool + """ + return self._tag == 'paper_doc_view' + + def is_paper_folder_deleted(self): + """ + Check if the union tag is ``paper_folder_deleted``. + + :rtype: bool + """ + return self._tag == 'paper_folder_deleted' + + def is_paper_folder_followed(self): + """ + Check if the union tag is ``paper_folder_followed``. + + :rtype: bool + """ + return self._tag == 'paper_folder_followed' + + def is_paper_folder_team_invite(self): + """ + Check if the union tag is ``paper_folder_team_invite``. + + :rtype: bool + """ + return self._tag == 'paper_folder_team_invite' + + def is_password_change(self): + """ + Check if the union tag is ``password_change``. + + :rtype: bool + """ + return self._tag == 'password_change' + + def is_password_reset(self): + """ + Check if the union tag is ``password_reset``. + + :rtype: bool + """ + return self._tag == 'password_reset' + + def is_password_reset_all(self): + """ + Check if the union tag is ``password_reset_all``. + + :rtype: bool + """ + return self._tag == 'password_reset_all' + + def is_emm_create_exceptions_report(self): + """ + Check if the union tag is ``emm_create_exceptions_report``. + + :rtype: bool + """ + return self._tag == 'emm_create_exceptions_report' + + def is_emm_create_usage_report(self): + """ + Check if the union tag is ``emm_create_usage_report``. + + :rtype: bool + """ + return self._tag == 'emm_create_usage_report' + + def is_smart_sync_create_admin_privilege_report(self): + """ + Check if the union tag is ``smart_sync_create_admin_privilege_report``. + + :rtype: bool + """ + return self._tag == 'smart_sync_create_admin_privilege_report' + + def is_team_activity_create_report(self): + """ + Check if the union tag is ``team_activity_create_report``. + + :rtype: bool + """ + return self._tag == 'team_activity_create_report' + + def is_collection_share(self): + """ + Check if the union tag is ``collection_share``. + + :rtype: bool + """ + return self._tag == 'collection_share' + + def is_file_add_comment(self): + """ + Check if the union tag is ``file_add_comment``. + + :rtype: bool + """ + return self._tag == 'file_add_comment' + + def is_file_like_comment(self): + """ + Check if the union tag is ``file_like_comment``. + + :rtype: bool + """ + return self._tag == 'file_like_comment' + + def is_file_unlike_comment(self): + """ + Check if the union tag is ``file_unlike_comment``. + + :rtype: bool + """ + return self._tag == 'file_unlike_comment' + + def is_note_acl_invite_only(self): + """ + Check if the union tag is ``note_acl_invite_only``. + + :rtype: bool + """ + return self._tag == 'note_acl_invite_only' + + def is_note_acl_link(self): + """ + Check if the union tag is ``note_acl_link``. + + :rtype: bool + """ + return self._tag == 'note_acl_link' + + def is_note_acl_team_link(self): + """ + Check if the union tag is ``note_acl_team_link``. + + :rtype: bool + """ + return self._tag == 'note_acl_team_link' + + def is_note_shared(self): + """ + Check if the union tag is ``note_shared``. + + :rtype: bool + """ + return self._tag == 'note_shared' + + def is_note_share_receive(self): + """ + Check if the union tag is ``note_share_receive``. + + :rtype: bool + """ + return self._tag == 'note_share_receive' + + def is_open_note_shared(self): + """ + Check if the union tag is ``open_note_shared``. + + :rtype: bool + """ + return self._tag == 'open_note_shared' + + def is_sf_add_group(self): + """ + Check if the union tag is ``sf_add_group``. + + :rtype: bool + """ + return self._tag == 'sf_add_group' + + def is_sf_allow_non_members_to_view_shared_links(self): + """ + Check if the union tag is ``sf_allow_non_members_to_view_shared_links``. + + :rtype: bool + """ + return self._tag == 'sf_allow_non_members_to_view_shared_links' + + def is_sf_invite_group(self): + """ + Check if the union tag is ``sf_invite_group``. + + :rtype: bool + """ + return self._tag == 'sf_invite_group' + + def is_sf_nest(self): + """ + Check if the union tag is ``sf_nest``. + + :rtype: bool + """ + return self._tag == 'sf_nest' + + def is_sf_team_decline(self): + """ + Check if the union tag is ``sf_team_decline``. + + :rtype: bool + """ + return self._tag == 'sf_team_decline' + + def is_sf_team_grant_access(self): + """ + Check if the union tag is ``sf_team_grant_access``. + + :rtype: bool + """ + return self._tag == 'sf_team_grant_access' + + def is_sf_team_invite(self): + """ + Check if the union tag is ``sf_team_invite``. + + :rtype: bool + """ + return self._tag == 'sf_team_invite' + + def is_sf_team_invite_change_role(self): + """ + Check if the union tag is ``sf_team_invite_change_role``. + + :rtype: bool + """ + return self._tag == 'sf_team_invite_change_role' + + def is_sf_team_join(self): + """ + Check if the union tag is ``sf_team_join``. + + :rtype: bool + """ + return self._tag == 'sf_team_join' + + def is_sf_team_join_from_oob_link(self): + """ + Check if the union tag is ``sf_team_join_from_oob_link``. + + :rtype: bool + """ + return self._tag == 'sf_team_join_from_oob_link' + + def is_sf_team_uninvite(self): + """ + Check if the union tag is ``sf_team_uninvite``. + + :rtype: bool + """ + return self._tag == 'sf_team_uninvite' + + def is_shared_content_add_invitees(self): + """ + Check if the union tag is ``shared_content_add_invitees``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_invitees' + + def is_shared_content_add_link_expiry(self): + """ + Check if the union tag is ``shared_content_add_link_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_link_expiry' + + def is_shared_content_add_link_password(self): + """ + Check if the union tag is ``shared_content_add_link_password``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_link_password' + + def is_shared_content_add_member(self): + """ + Check if the union tag is ``shared_content_add_member``. + + :rtype: bool + """ + return self._tag == 'shared_content_add_member' + + def is_shared_content_change_downloads_policy(self): + """ + Check if the union tag is ``shared_content_change_downloads_policy``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_downloads_policy' + + def is_shared_content_change_invitee_role(self): + """ + Check if the union tag is ``shared_content_change_invitee_role``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_invitee_role' + + def is_shared_content_change_link_audience(self): + """ + Check if the union tag is ``shared_content_change_link_audience``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_audience' + + def is_shared_content_change_link_expiry(self): + """ + Check if the union tag is ``shared_content_change_link_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_expiry' + + def is_shared_content_change_link_password(self): + """ + Check if the union tag is ``shared_content_change_link_password``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_link_password' + + def is_shared_content_change_member_role(self): + """ + Check if the union tag is ``shared_content_change_member_role``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_member_role' + + def is_shared_content_change_viewer_info_policy(self): + """ + Check if the union tag is ``shared_content_change_viewer_info_policy``. + + :rtype: bool + """ + return self._tag == 'shared_content_change_viewer_info_policy' + + def is_shared_content_claim_invitation(self): + """ + Check if the union tag is ``shared_content_claim_invitation``. + + :rtype: bool + """ + return self._tag == 'shared_content_claim_invitation' + + def is_shared_content_copy(self): + """ + Check if the union tag is ``shared_content_copy``. + + :rtype: bool + """ + return self._tag == 'shared_content_copy' + + def is_shared_content_download(self): + """ + Check if the union tag is ``shared_content_download``. + + :rtype: bool + """ + return self._tag == 'shared_content_download' + + def is_shared_content_relinquish_membership(self): + """ + Check if the union tag is ``shared_content_relinquish_membership``. + + :rtype: bool + """ + return self._tag == 'shared_content_relinquish_membership' + + def is_shared_content_remove_invitee(self): + """ + Check if the union tag is ``shared_content_remove_invitee``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_invitee' + + def is_shared_content_remove_link_expiry(self): + """ + Check if the union tag is ``shared_content_remove_link_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_link_expiry' + + def is_shared_content_remove_link_password(self): + """ + Check if the union tag is ``shared_content_remove_link_password``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_link_password' + + def is_shared_content_remove_member(self): + """ + Check if the union tag is ``shared_content_remove_member``. + + :rtype: bool + """ + return self._tag == 'shared_content_remove_member' + + def is_shared_content_request_access(self): + """ + Check if the union tag is ``shared_content_request_access``. + + :rtype: bool + """ + return self._tag == 'shared_content_request_access' + + def is_shared_content_unshare(self): + """ + Check if the union tag is ``shared_content_unshare``. + + :rtype: bool + """ + return self._tag == 'shared_content_unshare' + + def is_shared_content_view(self): + """ + Check if the union tag is ``shared_content_view``. + + :rtype: bool + """ + return self._tag == 'shared_content_view' + + def is_shared_folder_change_confidentiality(self): + """ + Check if the union tag is ``shared_folder_change_confidentiality``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_confidentiality' + + def is_shared_folder_change_link_policy(self): + """ + Check if the union tag is ``shared_folder_change_link_policy``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_link_policy' + + def is_shared_folder_change_member_management_policy(self): + """ + Check if the union tag is ``shared_folder_change_member_management_policy``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_member_management_policy' + + def is_shared_folder_change_member_policy(self): + """ + Check if the union tag is ``shared_folder_change_member_policy``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_member_policy' + + def is_shared_folder_create(self): + """ + Check if the union tag is ``shared_folder_create``. + + :rtype: bool + """ + return self._tag == 'shared_folder_create' + + def is_shared_folder_mount(self): + """ + Check if the union tag is ``shared_folder_mount``. + + :rtype: bool + """ + return self._tag == 'shared_folder_mount' + + def is_shared_folder_transfer_ownership(self): + """ + Check if the union tag is ``shared_folder_transfer_ownership``. + + :rtype: bool + """ + return self._tag == 'shared_folder_transfer_ownership' + + def is_shared_folder_unmount(self): + """ + Check if the union tag is ``shared_folder_unmount``. + + :rtype: bool + """ + return self._tag == 'shared_folder_unmount' + + def is_shared_note_opened(self): + """ + Check if the union tag is ``shared_note_opened``. + + :rtype: bool + """ + return self._tag == 'shared_note_opened' + + def is_shmodel_app_create(self): + """ + Check if the union tag is ``shmodel_app_create``. + + :rtype: bool + """ + return self._tag == 'shmodel_app_create' + + def is_shmodel_create(self): + """ + Check if the union tag is ``shmodel_create``. + + :rtype: bool + """ + return self._tag == 'shmodel_create' + + def is_shmodel_disable(self): + """ + Check if the union tag is ``shmodel_disable``. + + :rtype: bool + """ + return self._tag == 'shmodel_disable' + + def is_shmodel_fb_share(self): + """ + Check if the union tag is ``shmodel_fb_share``. + + :rtype: bool + """ + return self._tag == 'shmodel_fb_share' + + def is_shmodel_group_share(self): + """ + Check if the union tag is ``shmodel_group_share``. + + :rtype: bool + """ + return self._tag == 'shmodel_group_share' + + def is_shmodel_remove_expiration(self): + """ + Check if the union tag is ``shmodel_remove_expiration``. + + :rtype: bool + """ + return self._tag == 'shmodel_remove_expiration' + + def is_shmodel_set_expiration(self): + """ + Check if the union tag is ``shmodel_set_expiration``. + + :rtype: bool + """ + return self._tag == 'shmodel_set_expiration' + + def is_shmodel_team_copy(self): + """ + Check if the union tag is ``shmodel_team_copy``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_copy' + + def is_shmodel_team_download(self): + """ + Check if the union tag is ``shmodel_team_download``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_download' + + def is_shmodel_team_share(self): + """ + Check if the union tag is ``shmodel_team_share``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_share' + + def is_shmodel_team_view(self): + """ + Check if the union tag is ``shmodel_team_view``. + + :rtype: bool + """ + return self._tag == 'shmodel_team_view' + + def is_shmodel_visibility_password(self): + """ + Check if the union tag is ``shmodel_visibility_password``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_password' + + def is_shmodel_visibility_public(self): + """ + Check if the union tag is ``shmodel_visibility_public``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_public' + + def is_shmodel_visibility_team_only(self): + """ + Check if the union tag is ``shmodel_visibility_team_only``. + + :rtype: bool + """ + return self._tag == 'shmodel_visibility_team_only' + + def is_remove_logout_url(self): + """ + Check if the union tag is ``remove_logout_url``. + + :rtype: bool + """ + return self._tag == 'remove_logout_url' + + def is_remove_sso_url(self): + """ + Check if the union tag is ``remove_sso_url``. + + :rtype: bool + """ + return self._tag == 'remove_sso_url' + + def is_sso_change_cert(self): + """ + Check if the union tag is ``sso_change_cert``. + + :rtype: bool + """ + return self._tag == 'sso_change_cert' + + def is_sso_change_login_url(self): + """ + Check if the union tag is ``sso_change_login_url``. + + :rtype: bool + """ + return self._tag == 'sso_change_login_url' + + def is_sso_change_logout_url(self): + """ + Check if the union tag is ``sso_change_logout_url``. + + :rtype: bool + """ + return self._tag == 'sso_change_logout_url' + + def is_sso_change_saml_identity_mode(self): + """ + Check if the union tag is ``sso_change_saml_identity_mode``. + + :rtype: bool + """ + return self._tag == 'sso_change_saml_identity_mode' + + def is_team_folder_change_status(self): + """ + Check if the union tag is ``team_folder_change_status``. + + :rtype: bool + """ + return self._tag == 'team_folder_change_status' + + def is_team_folder_create(self): + """ + Check if the union tag is ``team_folder_create``. + + :rtype: bool + """ + return self._tag == 'team_folder_create' + + def is_team_folder_downgrade(self): + """ + Check if the union tag is ``team_folder_downgrade``. + + :rtype: bool + """ + return self._tag == 'team_folder_downgrade' + + def is_team_folder_permanently_delete(self): + """ + Check if the union tag is ``team_folder_permanently_delete``. + + :rtype: bool + """ + return self._tag == 'team_folder_permanently_delete' + + def is_team_folder_rename(self): + """ + Check if the union tag is ``team_folder_rename``. + + :rtype: bool + """ + return self._tag == 'team_folder_rename' + + def is_account_capture_change_policy(self): + """ + Check if the union tag is ``account_capture_change_policy``. + + :rtype: bool + """ + return self._tag == 'account_capture_change_policy' + + def is_allow_download_disabled(self): + """ + Check if the union tag is ``allow_download_disabled``. + + :rtype: bool + """ + return self._tag == 'allow_download_disabled' + + def is_allow_download_enabled(self): + """ + Check if the union tag is ``allow_download_enabled``. + + :rtype: bool + """ + return self._tag == 'allow_download_enabled' + + def is_data_placement_restriction_change_policy(self): + """ + Check if the union tag is ``data_placement_restriction_change_policy``. + + :rtype: bool + """ + return self._tag == 'data_placement_restriction_change_policy' + + def is_data_placement_restriction_satisfy_policy(self): + """ + Check if the union tag is ``data_placement_restriction_satisfy_policy``. + + :rtype: bool + """ + return self._tag == 'data_placement_restriction_satisfy_policy' + + def is_device_approvals_change_desktop_policy(self): + """ + Check if the union tag is ``device_approvals_change_desktop_policy``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_desktop_policy' + + def is_device_approvals_change_mobile_policy(self): + """ + Check if the union tag is ``device_approvals_change_mobile_policy``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_mobile_policy' + + def is_device_approvals_change_overage_action(self): + """ + Check if the union tag is ``device_approvals_change_overage_action``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_overage_action' + + def is_device_approvals_change_unlink_action(self): + """ + Check if the union tag is ``device_approvals_change_unlink_action``. + + :rtype: bool + """ + return self._tag == 'device_approvals_change_unlink_action' + + def is_emm_add_exception(self): + """ + Check if the union tag is ``emm_add_exception``. + + :rtype: bool + """ + return self._tag == 'emm_add_exception' + + def is_emm_change_policy(self): + """ + Check if the union tag is ``emm_change_policy``. + + :rtype: bool + """ + return self._tag == 'emm_change_policy' + + def is_emm_remove_exception(self): + """ + Check if the union tag is ``emm_remove_exception``. + + :rtype: bool + """ + return self._tag == 'emm_remove_exception' + + def is_extended_version_history_change_policy(self): + """ + Check if the union tag is ``extended_version_history_change_policy``. + + :rtype: bool + """ + return self._tag == 'extended_version_history_change_policy' + + def is_file_comments_change_policy(self): + """ + Check if the union tag is ``file_comments_change_policy``. + + :rtype: bool + """ + return self._tag == 'file_comments_change_policy' + + def is_file_requests_change_policy(self): + """ + Check if the union tag is ``file_requests_change_policy``. + + :rtype: bool + """ + return self._tag == 'file_requests_change_policy' + + def is_file_requests_emails_enabled(self): + """ + Check if the union tag is ``file_requests_emails_enabled``. + + :rtype: bool + """ + return self._tag == 'file_requests_emails_enabled' + + def is_file_requests_emails_restricted_to_team_only(self): + """ + Check if the union tag is ``file_requests_emails_restricted_to_team_only``. + + :rtype: bool + """ + return self._tag == 'file_requests_emails_restricted_to_team_only' + + def is_google_sso_change_policy(self): + """ + Check if the union tag is ``google_sso_change_policy``. + + :rtype: bool + """ + return self._tag == 'google_sso_change_policy' + + def is_group_user_management_change_policy(self): + """ + Check if the union tag is ``group_user_management_change_policy``. + + :rtype: bool + """ + return self._tag == 'group_user_management_change_policy' + + def is_member_requests_change_policy(self): + """ + Check if the union tag is ``member_requests_change_policy``. + + :rtype: bool + """ + return self._tag == 'member_requests_change_policy' + + def is_member_space_limits_add_exception(self): + """ + Check if the union tag is ``member_space_limits_add_exception``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_add_exception' + + def is_member_space_limits_change_policy(self): + """ + Check if the union tag is ``member_space_limits_change_policy``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_policy' + + def is_member_space_limits_remove_exception(self): + """ + Check if the union tag is ``member_space_limits_remove_exception``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_remove_exception' + + def is_member_suggestions_change_policy(self): + """ + Check if the union tag is ``member_suggestions_change_policy``. + + :rtype: bool + """ + return self._tag == 'member_suggestions_change_policy' + + def is_microsoft_office_addin_change_policy(self): + """ + Check if the union tag is ``microsoft_office_addin_change_policy``. + + :rtype: bool + """ + return self._tag == 'microsoft_office_addin_change_policy' + + def is_network_control_change_policy(self): + """ + Check if the union tag is ``network_control_change_policy``. + + :rtype: bool + """ + return self._tag == 'network_control_change_policy' + + def is_paper_change_deployment_policy(self): + """ + Check if the union tag is ``paper_change_deployment_policy``. + + :rtype: bool + """ + return self._tag == 'paper_change_deployment_policy' + + def is_paper_change_member_policy(self): + """ + Check if the union tag is ``paper_change_member_policy``. + + :rtype: bool + """ + return self._tag == 'paper_change_member_policy' + + def is_paper_change_policy(self): + """ + Check if the union tag is ``paper_change_policy``. + + :rtype: bool + """ + return self._tag == 'paper_change_policy' + + def is_permanent_delete_change_policy(self): + """ + Check if the union tag is ``permanent_delete_change_policy``. + + :rtype: bool + """ + return self._tag == 'permanent_delete_change_policy' + + def is_sharing_change_folder_join_policy(self): + """ + Check if the union tag is ``sharing_change_folder_join_policy``. + + :rtype: bool + """ + return self._tag == 'sharing_change_folder_join_policy' + + def is_sharing_change_link_policy(self): + """ + Check if the union tag is ``sharing_change_link_policy``. + + :rtype: bool + """ + return self._tag == 'sharing_change_link_policy' + + def is_sharing_change_member_policy(self): + """ + Check if the union tag is ``sharing_change_member_policy``. + + :rtype: bool + """ + return self._tag == 'sharing_change_member_policy' + + def is_smart_sync_change_policy(self): + """ + Check if the union tag is ``smart_sync_change_policy``. + + :rtype: bool + """ + return self._tag == 'smart_sync_change_policy' + + def is_sso_change_policy(self): + """ + Check if the union tag is ``sso_change_policy``. + + :rtype: bool + """ + return self._tag == 'sso_change_policy' + + def is_tfa_change_policy(self): + """ + Check if the union tag is ``tfa_change_policy``. + + :rtype: bool + """ + return self._tag == 'tfa_change_policy' + + def is_two_account_change_policy(self): + """ + Check if the union tag is ``two_account_change_policy``. + + :rtype: bool + """ + return self._tag == 'two_account_change_policy' + + def is_web_sessions_change_fixed_length_policy(self): + """ + Check if the union tag is ``web_sessions_change_fixed_length_policy``. + + :rtype: bool + """ + return self._tag == 'web_sessions_change_fixed_length_policy' + + def is_web_sessions_change_idle_length_policy(self): + """ + Check if the union tag is ``web_sessions_change_idle_length_policy``. + + :rtype: bool + """ + return self._tag == 'web_sessions_change_idle_length_policy' + + def is_team_profile_add_logo(self): + """ + Check if the union tag is ``team_profile_add_logo``. + + :rtype: bool + """ + return self._tag == 'team_profile_add_logo' + + def is_team_profile_change_logo(self): + """ + Check if the union tag is ``team_profile_change_logo``. + + :rtype: bool + """ + return self._tag == 'team_profile_change_logo' + + def is_team_profile_change_name(self): + """ + Check if the union tag is ``team_profile_change_name``. + + :rtype: bool + """ + return self._tag == 'team_profile_change_name' + + def is_team_profile_remove_logo(self): + """ + Check if the union tag is ``team_profile_remove_logo``. + + :rtype: bool + """ + return self._tag == 'team_profile_remove_logo' + + def is_tfa_add_backup_phone(self): + """ + Check if the union tag is ``tfa_add_backup_phone``. + + :rtype: bool + """ + return self._tag == 'tfa_add_backup_phone' + + def is_tfa_add_security_key(self): + """ + Check if the union tag is ``tfa_add_security_key``. + + :rtype: bool + """ + return self._tag == 'tfa_add_security_key' + + def is_tfa_change_backup_phone(self): + """ + Check if the union tag is ``tfa_change_backup_phone``. + + :rtype: bool + """ + return self._tag == 'tfa_change_backup_phone' + + def is_tfa_change_status(self): + """ + Check if the union tag is ``tfa_change_status``. + + :rtype: bool + """ + return self._tag == 'tfa_change_status' + + def is_tfa_remove_backup_phone(self): + """ + Check if the union tag is ``tfa_remove_backup_phone``. + + :rtype: bool + """ + return self._tag == 'tfa_remove_backup_phone' + + def is_tfa_remove_security_key(self): + """ + Check if the union tag is ``tfa_remove_security_key``. + + :rtype: bool + """ + return self._tag == 'tfa_remove_security_key' + + def is_tfa_reset(self): + """ + Check if the union tag is ``tfa_reset``. + + :rtype: bool + """ + return self._tag == 'tfa_reset' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'EventType(%r, %r)' % (self._tag, self._value) + +EventType_validator = bv.Union(EventType) + +class ExtendedVersionHistoryChangePolicyDetails(object): + """ + Accepted or opted out of extended version history. + + :ivar new_value: New extended version history policy. + :ivar previous_value: Previous extended version history policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New extended version history policy. + + :rtype: ExtendedVersionHistoryPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous extended version history policy. Might be missing due to + historical data gap. + + :rtype: ExtendedVersionHistoryPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'ExtendedVersionHistoryChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +ExtendedVersionHistoryChangePolicyDetails_validator = bv.Struct(ExtendedVersionHistoryChangePolicyDetails) + +class ExtendedVersionHistoryPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + limited = None + # Attribute is overwritten below the class definition + unlimited = None + # Attribute is overwritten below the class definition + other = None + + def is_limited(self): + """ + Check if the union tag is ``limited``. + + :rtype: bool + """ + return self._tag == 'limited' + + def is_unlimited(self): + """ + Check if the union tag is ``unlimited``. + + :rtype: bool + """ + return self._tag == 'unlimited' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'ExtendedVersionHistoryPolicy(%r, %r)' % (self._tag, self._value) + +ExtendedVersionHistoryPolicy_validator = bv.Union(ExtendedVersionHistoryPolicy) + +class ExternalSharingAccessibilityPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + team_only = None + # Attribute is overwritten below the class definition + default_team_only = None + # Attribute is overwritten below the class definition + default_anyone = None + # Attribute is overwritten below the class definition + other = None + + def is_team_only(self): + """ + Check if the union tag is ``team_only``. + + :rtype: bool + """ + return self._tag == 'team_only' + + def is_default_team_only(self): + """ + Check if the union tag is ``default_team_only``. + + :rtype: bool + """ + return self._tag == 'default_team_only' + + def is_default_anyone(self): + """ + Check if the union tag is ``default_anyone``. + + :rtype: bool + """ + return self._tag == 'default_anyone' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'ExternalSharingAccessibilityPolicy(%r, %r)' % (self._tag, self._value) + +ExternalSharingAccessibilityPolicy_validator = bv.Union(ExternalSharingAccessibilityPolicy) + +class ExternalSharingPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + team_only = None + # Attribute is overwritten below the class definition + anyone = None + # Attribute is overwritten below the class definition + other = None + + def is_team_only(self): + """ + Check if the union tag is ``team_only``. + + :rtype: bool + """ + return self._tag == 'team_only' + + def is_anyone(self): + """ + Check if the union tag is ``anyone``. + + :rtype: bool + """ + return self._tag == 'anyone' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'ExternalSharingPolicy(%r, %r)' % (self._tag, self._value) + +ExternalSharingPolicy_validator = bv.Union(ExternalSharingPolicy) + +class FileAddCommentDetails(object): + """ + Added a file comment. + + :ivar target_index: Target asset index. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + comment_text=None): + self._target_index_value = None + self._target_index_present = False + self._comment_text_value = None + self._comment_text_present = False + if target_index is not None: + self.target_index = target_index + if comment_text is not None: + self.comment_text = comment_text + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'FileAddCommentDetails(target_index={!r}, comment_text={!r})'.format( + self._target_index_value, + self._comment_text_value, + ) + +FileAddCommentDetails_validator = bv.Struct(FileAddCommentDetails) + +class FileAddDetails(object): + """ + Added files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileAddDetails()' + +FileAddDetails_validator = bv.Struct(FileAddDetails) + +class FileCommentsChangePolicyDetails(object): + """ + Enabled or disabled commenting on team files. + + :ivar new_value: New commenting on team files policy. + :ivar previous_value: Previous commenting on team files policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New commenting on team files policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous commenting on team files policy. Might be missing due to + historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'FileCommentsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +FileCommentsChangePolicyDetails_validator = bv.Struct(FileCommentsChangePolicyDetails) + +class FileCopyDetails(object): + """ + Copied files and/or folders. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'FileCopyDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +FileCopyDetails_validator = bv.Struct(FileCopyDetails) + +class FileDeleteDetails(object): + """ + Deleted files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileDeleteDetails()' + +FileDeleteDetails_validator = bv.Struct(FileDeleteDetails) + +class FileDownloadDetails(object): + """ + Downloaded files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileDownloadDetails()' + +FileDownloadDetails_validator = bv.Struct(FileDownloadDetails) + +class FileEditDetails(object): + """ + Edited files. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileEditDetails()' + +FileEditDetails_validator = bv.Struct(FileEditDetails) + +class FileGetCopyReferenceDetails(object): + """ + Create a copy reference to a file or folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileGetCopyReferenceDetails()' + +FileGetCopyReferenceDetails_validator = bv.Struct(FileGetCopyReferenceDetails) + +class FileLikeCommentDetails(object): + """ + Liked a file comment. + + :ivar target_index: Target asset index. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + comment_text=None): + self._target_index_value = None + self._target_index_present = False + self._comment_text_value = None + self._comment_text_present = False + if target_index is not None: + self.target_index = target_index + if comment_text is not None: + self.comment_text = comment_text + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'FileLikeCommentDetails(target_index={!r}, comment_text={!r})'.format( + self._target_index_value, + self._comment_text_value, + ) + +FileLikeCommentDetails_validator = bv.Struct(FileLikeCommentDetails) + +class FileOrFolderLogInfo(object): + """ + Generic information relevant both for files and folders + + :ivar path: Path relative to event context. + :ivar display_name: Display name. Might be missing due to historical data + gap. + :ivar file_id: Unique ID. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_path_value', + '_path_present', + '_display_name_value', + '_display_name_present', + '_file_id_value', + '_file_id_present', + ] + + _has_required_fields = True + + def __init__(self, + path=None, + display_name=None, + file_id=None): + self._path_value = None + self._path_present = False + self._display_name_value = None + self._display_name_present = False + self._file_id_value = None + self._file_id_present = False + if path is not None: + self.path = path + if display_name is not None: + self.display_name = display_name + if file_id is not None: + self.file_id = file_id + + @property + def path(self): + """ + Path relative to event context. + + :rtype: PathLogInfo + """ + if self._path_present: + return self._path_value + else: + raise AttributeError("missing required field 'path'") + + @path.setter + def path(self, val): + self._path_validator.validate_type_only(val) + self._path_value = val + self._path_present = True + + @path.deleter + def path(self): + self._path_value = None + self._path_present = False + + @property + def display_name(self): + """ + Display name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + return None + + @display_name.setter + def display_name(self, val): + if val is None: + del self.display_name + return + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + @property + def file_id(self): + """ + Unique ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._file_id_present: + return self._file_id_value + else: + return None + + @file_id.setter + def file_id(self, val): + if val is None: + del self.file_id + return + val = self._file_id_validator.validate(val) + self._file_id_value = val + self._file_id_present = True + + @file_id.deleter + def file_id(self): + self._file_id_value = None + self._file_id_present = False + + def __repr__(self): + return 'FileOrFolderLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( + self._path_value, + self._display_name_value, + self._file_id_value, + ) + +FileOrFolderLogInfo_validator = bv.Struct(FileOrFolderLogInfo) + +class FileLogInfo(FileOrFolderLogInfo): + """ + File's logged information. + """ + + __slots__ = [ + ] + + _has_required_fields = True + + def __init__(self, + path=None, + display_name=None, + file_id=None): + super(FileLogInfo, self).__init__(path, + display_name, + file_id) + + def __repr__(self): + return 'FileLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( + self._path_value, + self._display_name_value, + self._file_id_value, + ) + +FileLogInfo_validator = bv.Struct(FileLogInfo) + +class FileMoveDetails(object): + """ + Moved files and/or folders. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'FileMoveDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +FileMoveDetails_validator = bv.Struct(FileMoveDetails) + +class FilePermanentlyDeleteDetails(object): + """ + Permanently deleted files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FilePermanentlyDeleteDetails()' + +FilePermanentlyDeleteDetails_validator = bv.Struct(FilePermanentlyDeleteDetails) + +class FilePreviewDetails(object): + """ + Previewed files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FilePreviewDetails()' + +FilePreviewDetails_validator = bv.Struct(FilePreviewDetails) + +class FileRenameDetails(object): + """ + Renamed files and/or folders. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'FileRenameDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +FileRenameDetails_validator = bv.Struct(FileRenameDetails) + +class FileRequestAddDeadlineDetails(object): + """ + Added a deadline to a file request. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestAddDeadlineDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestAddDeadlineDetails_validator = bv.Struct(FileRequestAddDeadlineDetails) + +class FileRequestChangeFolderDetails(object): + """ + Changed the file request folder. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestChangeFolderDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestChangeFolderDetails_validator = bv.Struct(FileRequestChangeFolderDetails) + +class FileRequestChangeTitleDetails(object): + """ + Change the file request title. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestChangeTitleDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestChangeTitleDetails_validator = bv.Struct(FileRequestChangeTitleDetails) + +class FileRequestCloseDetails(object): + """ + Closed a file request. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestCloseDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestCloseDetails_validator = bv.Struct(FileRequestCloseDetails) + +class FileRequestCreateDetails(object): + """ + Created a file request. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestCreateDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestCreateDetails_validator = bv.Struct(FileRequestCreateDetails) + +class FileRequestReceiveFileDetails(object): + """ + Received files for a file request. + + :ivar request_title: File request title. + :ivar submitted_file_names: Submitted file names. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + '_submitted_file_names_value', + '_submitted_file_names_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None, + submitted_file_names=None): + self._request_title_value = None + self._request_title_present = False + self._submitted_file_names_value = None + self._submitted_file_names_present = False + if request_title is not None: + self.request_title = request_title + if submitted_file_names is not None: + self.submitted_file_names = submitted_file_names + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + @property + def submitted_file_names(self): + """ + Submitted file names. + + :rtype: list of [str] + """ + if self._submitted_file_names_present: + return self._submitted_file_names_value + else: + raise AttributeError("missing required field 'submitted_file_names'") + + @submitted_file_names.setter + def submitted_file_names(self, val): + val = self._submitted_file_names_validator.validate(val) + self._submitted_file_names_value = val + self._submitted_file_names_present = True + + @submitted_file_names.deleter + def submitted_file_names(self): + self._submitted_file_names_value = None + self._submitted_file_names_present = False + + def __repr__(self): + return 'FileRequestReceiveFileDetails(request_title={!r}, submitted_file_names={!r})'.format( + self._request_title_value, + self._submitted_file_names_value, + ) + +FileRequestReceiveFileDetails_validator = bv.Struct(FileRequestReceiveFileDetails) + +class FileRequestRemoveDeadlineDetails(object): + """ + Removed the file request deadline. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestRemoveDeadlineDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestRemoveDeadlineDetails_validator = bv.Struct(FileRequestRemoveDeadlineDetails) + +class FileRequestSendDetails(object): + """ + Sent file request to users via email. + + :ivar request_title: File request title. + """ + + __slots__ = [ + '_request_title_value', + '_request_title_present', + ] + + _has_required_fields = True + + def __init__(self, + request_title=None): + self._request_title_value = None + self._request_title_present = False + if request_title is not None: + self.request_title = request_title + + @property + def request_title(self): + """ + File request title. + + :rtype: str + """ + if self._request_title_present: + return self._request_title_value + else: + raise AttributeError("missing required field 'request_title'") + + @request_title.setter + def request_title(self, val): + val = self._request_title_validator.validate(val) + self._request_title_value = val + self._request_title_present = True + + @request_title.deleter + def request_title(self): + self._request_title_value = None + self._request_title_present = False + + def __repr__(self): + return 'FileRequestSendDetails(request_title={!r})'.format( + self._request_title_value, + ) + +FileRequestSendDetails_validator = bv.Struct(FileRequestSendDetails) + +class FileRequestsChangePolicyDetails(object): + """ + Enabled or disabled file requests. + + :ivar new_value: New file requests policy. + :ivar previous_value: Previous file requests policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New file requests policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous file requests policy. Might be missing due to historical data + gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'FileRequestsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +FileRequestsChangePolicyDetails_validator = bv.Struct(FileRequestsChangePolicyDetails) + +class FileRequestsEmailsEnabledDetails(object): + """ + Enabled file request emails for everyone. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileRequestsEmailsEnabledDetails()' + +FileRequestsEmailsEnabledDetails_validator = bv.Struct(FileRequestsEmailsEnabledDetails) + +class FileRequestsEmailsRestrictedToTeamOnlyDetails(object): + """ + Allowed file request emails for the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileRequestsEmailsRestrictedToTeamOnlyDetails()' + +FileRequestsEmailsRestrictedToTeamOnlyDetails_validator = bv.Struct(FileRequestsEmailsRestrictedToTeamOnlyDetails) + +class FileRestoreDetails(object): + """ + Restored deleted files and/or folders. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileRestoreDetails()' + +FileRestoreDetails_validator = bv.Struct(FileRestoreDetails) + +class FileRevertDetails(object): + """ + Reverted files to a previous version. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileRevertDetails()' + +FileRevertDetails_validator = bv.Struct(FileRevertDetails) + +class FileRollbackChangesDetails(object): + """ + Rolled back file change location changes. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'FileRollbackChangesDetails()' + +FileRollbackChangesDetails_validator = bv.Struct(FileRollbackChangesDetails) + +class FileSaveCopyReferenceDetails(object): + """ + Save a file or folder using a copy reference. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'FileSaveCopyReferenceDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +FileSaveCopyReferenceDetails_validator = bv.Struct(FileSaveCopyReferenceDetails) + +class FileUnlikeCommentDetails(object): + """ + Unliked a file comment. + + :ivar target_index: Target asset index. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + comment_text=None): + self._target_index_value = None + self._target_index_present = False + self._comment_text_value = None + self._comment_text_present = False + if target_index is not None: + self.target_index = target_index + if comment_text is not None: + self.comment_text = comment_text + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'FileUnlikeCommentDetails(target_index={!r}, comment_text={!r})'.format( + self._target_index_value, + self._comment_text_value, + ) + +FileUnlikeCommentDetails_validator = bv.Struct(FileUnlikeCommentDetails) + +class FolderLogInfo(FileOrFolderLogInfo): + """ + Folder's logged information. + """ + + __slots__ = [ + ] + + _has_required_fields = True + + def __init__(self, + path=None, + display_name=None, + file_id=None): + super(FolderLogInfo, self).__init__(path, + display_name, + file_id) + + def __repr__(self): + return 'FolderLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( + self._path_value, + self._display_name_value, + self._file_id_value, + ) + +FolderLogInfo_validator = bv.Struct(FolderLogInfo) + +class GeoLocationLogInfo(object): + """ + Geographic location details. + + :ivar city: City name. + :ivar region: Region name. + :ivar country: Country code. + :ivar ip_address: IP address. + """ + + __slots__ = [ + '_city_value', + '_city_present', + '_region_value', + '_region_present', + '_country_value', + '_country_present', + '_ip_address_value', + '_ip_address_present', + ] + + _has_required_fields = True + + def __init__(self, + ip_address=None, + city=None, + region=None, + country=None): + self._city_value = None + self._city_present = False + self._region_value = None + self._region_present = False + self._country_value = None + self._country_present = False + self._ip_address_value = None + self._ip_address_present = False + if city is not None: + self.city = city + if region is not None: + self.region = region + if country is not None: + self.country = country + if ip_address is not None: + self.ip_address = ip_address + + @property + def city(self): + """ + City name. + + :rtype: str + """ + if self._city_present: + return self._city_value + else: + return None + + @city.setter + def city(self, val): + if val is None: + del self.city + return + val = self._city_validator.validate(val) + self._city_value = val + self._city_present = True + + @city.deleter + def city(self): + self._city_value = None + self._city_present = False + + @property + def region(self): + """ + Region name. + + :rtype: str + """ + if self._region_present: + return self._region_value + else: + return None + + @region.setter + def region(self, val): + if val is None: + del self.region + return + val = self._region_validator.validate(val) + self._region_value = val + self._region_present = True + + @region.deleter + def region(self): + self._region_value = None + self._region_present = False + + @property + def country(self): + """ + Country code. + + :rtype: str + """ + if self._country_present: + return self._country_value + else: + return None + + @country.setter + def country(self, val): + if val is None: + del self.country + return + val = self._country_validator.validate(val) + self._country_value = val + self._country_present = True + + @country.deleter + def country(self): + self._country_value = None + self._country_present = False + + @property + def ip_address(self): + """ + IP address. + + :rtype: str + """ + if self._ip_address_present: + return self._ip_address_value + else: + raise AttributeError("missing required field 'ip_address'") + + @ip_address.setter + def ip_address(self, val): + val = self._ip_address_validator.validate(val) + self._ip_address_value = val + self._ip_address_present = True + + @ip_address.deleter + def ip_address(self): + self._ip_address_value = None + self._ip_address_present = False + + def __repr__(self): + return 'GeoLocationLogInfo(ip_address={!r}, city={!r}, region={!r}, country={!r})'.format( + self._ip_address_value, + self._city_value, + self._region_value, + self._country_value, + ) + +GeoLocationLogInfo_validator = bv.Struct(GeoLocationLogInfo) + +class GetTeamEventsArg(object): + """ + :ivar limit: Number of results to return per call. + :ivar account_id: Filter the events by account ID. Return ony events with + this account_id as either Actor, Context, or Participants. + :ivar time: Filter by time range. + """ + + __slots__ = [ + '_limit_value', + '_limit_present', + '_account_id_value', + '_account_id_present', + '_time_value', + '_time_present', + ] + + _has_required_fields = False + + def __init__(self, + limit=None, + account_id=None, + time=None): + self._limit_value = None + self._limit_present = False + self._account_id_value = None + self._account_id_present = False + self._time_value = None + self._time_present = False + if limit is not None: + self.limit = limit + if account_id is not None: + self.account_id = account_id + if time is not None: + self.time = time + + @property + def limit(self): + """ + Number of results to return per call. + + :rtype: long + """ + if self._limit_present: + return self._limit_value + else: + return 1000 + + @limit.setter + def limit(self, val): + val = self._limit_validator.validate(val) + self._limit_value = val + self._limit_present = True + + @limit.deleter + def limit(self): + self._limit_value = None + self._limit_present = False + + @property + def account_id(self): + """ + Filter the events by account ID. Return ony events with this account_id + as either Actor, Context, or Participants. + + :rtype: str + """ + if self._account_id_present: + return self._account_id_value + else: + return None + + @account_id.setter + def account_id(self, val): + if val is None: + del self.account_id + return + val = self._account_id_validator.validate(val) + self._account_id_value = val + self._account_id_present = True + + @account_id.deleter + def account_id(self): + self._account_id_value = None + self._account_id_present = False + + @property + def time(self): + """ + Filter by time range. + + :rtype: team_common.TimeRange_validator + """ + if self._time_present: + return self._time_value + else: + return None + + @time.setter + def time(self, val): + if val is None: + del self.time + return + self._time_validator.validate_type_only(val) + self._time_value = val + self._time_present = True + + @time.deleter + def time(self): + self._time_value = None + self._time_present = False + + def __repr__(self): + return 'GetTeamEventsArg(limit={!r}, account_id={!r}, time={!r})'.format( + self._limit_value, + self._account_id_value, + self._time_value, + ) + +GetTeamEventsArg_validator = bv.Struct(GetTeamEventsArg) + +class GetTeamEventsContinueArg(object): + """ + :ivar cursor: Indicates from what point to get the next set of events. + """ + + __slots__ = [ + '_cursor_value', + '_cursor_present', + ] + + _has_required_fields = True + + def __init__(self, + cursor=None): + self._cursor_value = None + self._cursor_present = False + if cursor is not None: + self.cursor = cursor + + @property + def cursor(self): + """ + Indicates from what point to get the next set of events. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + raise AttributeError("missing required field 'cursor'") + + @cursor.setter + def cursor(self, val): + val = self._cursor_validator.validate(val) + self._cursor_value = val + self._cursor_present = True + + @cursor.deleter + def cursor(self): + self._cursor_value = None + self._cursor_present = False + + def __repr__(self): + return 'GetTeamEventsContinueArg(cursor={!r})'.format( + self._cursor_value, + ) + +GetTeamEventsContinueArg_validator = bv.Struct(GetTeamEventsContinueArg) + +class GetTeamEventsContinueError(bb.Union): + """ + Errors that can be raised when calling + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar bad_cursor: Bad cursor. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + bad_cursor = None + # Attribute is overwritten below the class definition + other = None + + def is_bad_cursor(self): + """ + Check if the union tag is ``bad_cursor``. + + :rtype: bool + """ + return self._tag == 'bad_cursor' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'GetTeamEventsContinueError(%r, %r)' % (self._tag, self._value) + +GetTeamEventsContinueError_validator = bv.Union(GetTeamEventsContinueError) + +class GetTeamEventsError(bb.Union): + """ + Errors that can be raised when calling + :meth:`dropbox.dropbox.Dropbox.team_log_get_events`. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar account_id_not_found: No user found matching the provided account_id. + :ivar invalid_time_range: Invalid time range. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + account_id_not_found = None + # Attribute is overwritten below the class definition + invalid_time_range = None + # Attribute is overwritten below the class definition + other = None + + def is_account_id_not_found(self): + """ + Check if the union tag is ``account_id_not_found``. + + :rtype: bool + """ + return self._tag == 'account_id_not_found' + + def is_invalid_time_range(self): + """ + Check if the union tag is ``invalid_time_range``. + + :rtype: bool + """ + return self._tag == 'invalid_time_range' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'GetTeamEventsError(%r, %r)' % (self._tag, self._value) + +GetTeamEventsError_validator = bv.Union(GetTeamEventsError) + +class GetTeamEventsResult(object): + """ + :ivar events: List of events. + :ivar cursor: Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` to obtain + additional events. + :ivar has_more: Is true if there are additional events that have not been + returned yet. An additional call to + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` can + retrieve them. + """ + + __slots__ = [ + '_events_value', + '_events_present', + '_cursor_value', + '_cursor_present', + '_has_more_value', + '_has_more_present', + ] + + _has_required_fields = True + + def __init__(self, + events=None, + cursor=None, + has_more=None): + self._events_value = None + self._events_present = False + self._cursor_value = None + self._cursor_present = False + self._has_more_value = None + self._has_more_present = False + if events is not None: + self.events = events + if cursor is not None: + self.cursor = cursor + if has_more is not None: + self.has_more = has_more + + @property + def events(self): + """ + List of events. + + :rtype: list of [TeamEvent] + """ + if self._events_present: + return self._events_value + else: + raise AttributeError("missing required field 'events'") + + @events.setter + def events(self, val): + val = self._events_validator.validate(val) + self._events_value = val + self._events_present = True + + @events.deleter + def events(self): + self._events_value = None + self._events_present = False + + @property + def cursor(self): + """ + Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` to obtain + additional events. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + raise AttributeError("missing required field 'cursor'") + + @cursor.setter + def cursor(self, val): + val = self._cursor_validator.validate(val) + self._cursor_value = val + self._cursor_present = True + + @cursor.deleter + def cursor(self): + self._cursor_value = None + self._cursor_present = False + + @property + def has_more(self): + """ + Is true if there are additional events that have not been returned yet. + An additional call to + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` can + retrieve them. + + :rtype: bool + """ + if self._has_more_present: + return self._has_more_value + else: + raise AttributeError("missing required field 'has_more'") + + @has_more.setter + def has_more(self, val): + val = self._has_more_validator.validate(val) + self._has_more_value = val + self._has_more_present = True + + @has_more.deleter + def has_more(self): + self._has_more_value = None + self._has_more_present = False + + def __repr__(self): + return 'GetTeamEventsResult(events={!r}, cursor={!r}, has_more={!r})'.format( + self._events_value, + self._cursor_value, + self._has_more_value, + ) + +GetTeamEventsResult_validator = bv.Struct(GetTeamEventsResult) + +class GoogleSsoChangePolicyDetails(object): + """ + Enabled or disabled Google single sign-on for the team. + + :ivar new_value: New Google single sign-on policy. + :ivar previous_value: Previous Google single sign-on policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New Google single sign-on policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous Google single sign-on policy. Might be missing due to + historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GoogleSsoChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +GoogleSsoChangePolicyDetails_validator = bv.Struct(GoogleSsoChangePolicyDetails) + +class GroupAddExternalIdDetails(object): + """ + Added an external ID for group. + + :ivar group_info: Group details. + :ivar new_value: Current external id. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + new_value=None): + self._group_info_value = None + self._group_info_present = False + self._new_value_value = None + self._new_value_present = False + if group_info is not None: + self.group_info = group_info + if new_value is not None: + self.new_value = new_value + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def new_value(self): + """ + Current external id. + + :rtype: str + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + val = self._new_value_validator.validate(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + def __repr__(self): + return 'GroupAddExternalIdDetails(group_info={!r}, new_value={!r})'.format( + self._group_info_value, + self._new_value_value, + ) + +GroupAddExternalIdDetails_validator = bv.Struct(GroupAddExternalIdDetails) + +class GroupAddMemberDetails(object): + """ + Added team members to a group. + + :ivar group_info: Group details. + :ivar is_group_owner: Is group owner. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_is_group_owner_value', + '_is_group_owner_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + is_group_owner=None): + self._group_info_value = None + self._group_info_present = False + self._is_group_owner_value = None + self._is_group_owner_present = False + if group_info is not None: + self.group_info = group_info + if is_group_owner is not None: + self.is_group_owner = is_group_owner + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def is_group_owner(self): + """ + Is group owner. + + :rtype: bool + """ + if self._is_group_owner_present: + return self._is_group_owner_value + else: + raise AttributeError("missing required field 'is_group_owner'") + + @is_group_owner.setter + def is_group_owner(self, val): + val = self._is_group_owner_validator.validate(val) + self._is_group_owner_value = val + self._is_group_owner_present = True + + @is_group_owner.deleter + def is_group_owner(self): + self._is_group_owner_value = None + self._is_group_owner_present = False + + def __repr__(self): + return 'GroupAddMemberDetails(group_info={!r}, is_group_owner={!r})'.format( + self._group_info_value, + self._is_group_owner_value, + ) + +GroupAddMemberDetails_validator = bv.Struct(GroupAddMemberDetails) + +class GroupChangeExternalIdDetails(object): + """ + Changed the external ID for group. + + :ivar group_info: Group details. + :ivar new_value: Current external id. + :ivar previous_value: Old external id. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + new_value=None, + previous_value=None): + self._group_info_value = None + self._group_info_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if group_info is not None: + self.group_info = group_info + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def new_value(self): + """ + Current external id. + + :rtype: str + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + val = self._new_value_validator.validate(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Old external id. + + :rtype: str + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + val = self._previous_value_validator.validate(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GroupChangeExternalIdDetails(group_info={!r}, new_value={!r}, previous_value={!r})'.format( + self._group_info_value, + self._new_value_value, + self._previous_value_value, + ) + +GroupChangeExternalIdDetails_validator = bv.Struct(GroupChangeExternalIdDetails) + +class GroupChangeManagementTypeDetails(object): + """ + Changed group management type. + + :ivar group_info: Group details. + :ivar new_value: New group management type. + :ivar previous_value: Previous group management type. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + new_value=None, + previous_value=None): + self._group_info_value = None + self._group_info_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if group_info is not None: + self.group_info = group_info + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def new_value(self): + """ + New group management type. + + :rtype: GroupManagementType + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous group management type. Might be missing due to historical data + gap. + + :rtype: GroupManagementType + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GroupChangeManagementTypeDetails(group_info={!r}, new_value={!r}, previous_value={!r})'.format( + self._group_info_value, + self._new_value_value, + self._previous_value_value, + ) + +GroupChangeManagementTypeDetails_validator = bv.Struct(GroupChangeManagementTypeDetails) + +class GroupChangeMemberRoleDetails(object): + """ + Changed the manager permissions belonging to a group member. + + :ivar group_info: Group details. + :ivar is_group_owner: Is group owner. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_is_group_owner_value', + '_is_group_owner_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + is_group_owner=None): + self._group_info_value = None + self._group_info_present = False + self._is_group_owner_value = None + self._is_group_owner_present = False + if group_info is not None: + self.group_info = group_info + if is_group_owner is not None: + self.is_group_owner = is_group_owner + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def is_group_owner(self): + """ + Is group owner. + + :rtype: bool + """ + if self._is_group_owner_present: + return self._is_group_owner_value + else: + raise AttributeError("missing required field 'is_group_owner'") + + @is_group_owner.setter + def is_group_owner(self, val): + val = self._is_group_owner_validator.validate(val) + self._is_group_owner_value = val + self._is_group_owner_present = True + + @is_group_owner.deleter + def is_group_owner(self): + self._is_group_owner_value = None + self._is_group_owner_present = False + + def __repr__(self): + return 'GroupChangeMemberRoleDetails(group_info={!r}, is_group_owner={!r})'.format( + self._group_info_value, + self._is_group_owner_value, + ) + +GroupChangeMemberRoleDetails_validator = bv.Struct(GroupChangeMemberRoleDetails) + +class GroupCreateDetails(object): + """ + Created a group. + + :ivar group_info: Group details. + :ivar is_admin_managed: Is admin managed group. Might be missing due to + historical data gap. + :ivar join_policy: Group join policy. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_is_admin_managed_value', + '_is_admin_managed_present', + '_join_policy_value', + '_join_policy_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + join_policy=None, + is_admin_managed=None): + self._group_info_value = None + self._group_info_present = False + self._is_admin_managed_value = None + self._is_admin_managed_present = False + self._join_policy_value = None + self._join_policy_present = False + if group_info is not None: + self.group_info = group_info + if is_admin_managed is not None: + self.is_admin_managed = is_admin_managed + if join_policy is not None: + self.join_policy = join_policy + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def is_admin_managed(self): + """ + Is admin managed group. Might be missing due to historical data gap. + + :rtype: bool + """ + if self._is_admin_managed_present: + return self._is_admin_managed_value + else: + return None + + @is_admin_managed.setter + def is_admin_managed(self, val): + if val is None: + del self.is_admin_managed + return + val = self._is_admin_managed_validator.validate(val) + self._is_admin_managed_value = val + self._is_admin_managed_present = True + + @is_admin_managed.deleter + def is_admin_managed(self): + self._is_admin_managed_value = None + self._is_admin_managed_present = False + + @property + def join_policy(self): + """ + Group join policy. + + :rtype: GroupJoinPolicy + """ + if self._join_policy_present: + return self._join_policy_value + else: + raise AttributeError("missing required field 'join_policy'") + + @join_policy.setter + def join_policy(self, val): + self._join_policy_validator.validate_type_only(val) + self._join_policy_value = val + self._join_policy_present = True + + @join_policy.deleter + def join_policy(self): + self._join_policy_value = None + self._join_policy_present = False + + def __repr__(self): + return 'GroupCreateDetails(group_info={!r}, join_policy={!r}, is_admin_managed={!r})'.format( + self._group_info_value, + self._join_policy_value, + self._is_admin_managed_value, + ) + +GroupCreateDetails_validator = bv.Struct(GroupCreateDetails) + +class GroupDeleteDetails(object): + """ + Deleted a group. + + :ivar group_info: Group details. + :ivar is_admin_managed: Is admin managed group. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_is_admin_managed_value', + '_is_admin_managed_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + is_admin_managed=None): + self._group_info_value = None + self._group_info_present = False + self._is_admin_managed_value = None + self._is_admin_managed_present = False + if group_info is not None: + self.group_info = group_info + if is_admin_managed is not None: + self.is_admin_managed = is_admin_managed + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def is_admin_managed(self): + """ + Is admin managed group. Might be missing due to historical data gap. + + :rtype: bool + """ + if self._is_admin_managed_present: + return self._is_admin_managed_value + else: + return None + + @is_admin_managed.setter + def is_admin_managed(self, val): + if val is None: + del self.is_admin_managed + return + val = self._is_admin_managed_validator.validate(val) + self._is_admin_managed_value = val + self._is_admin_managed_present = True + + @is_admin_managed.deleter + def is_admin_managed(self): + self._is_admin_managed_value = None + self._is_admin_managed_present = False + + def __repr__(self): + return 'GroupDeleteDetails(group_info={!r}, is_admin_managed={!r})'.format( + self._group_info_value, + self._is_admin_managed_value, + ) + +GroupDeleteDetails_validator = bv.Struct(GroupDeleteDetails) + +class GroupDescriptionUpdatedDetails(object): + """ + Updated a group. + + :ivar group_info: Group details. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None): + self._group_info_value = None + self._group_info_present = False + if group_info is not None: + self.group_info = group_info + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + def __repr__(self): + return 'GroupDescriptionUpdatedDetails(group_info={!r})'.format( + self._group_info_value, + ) + +GroupDescriptionUpdatedDetails_validator = bv.Struct(GroupDescriptionUpdatedDetails) + +class GroupJoinPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + open = None + # Attribute is overwritten below the class definition + request_to_join = None + # Attribute is overwritten below the class definition + other = None + + def is_open(self): + """ + Check if the union tag is ``open``. + + :rtype: bool + """ + return self._tag == 'open' + + def is_request_to_join(self): + """ + Check if the union tag is ``request_to_join``. + + :rtype: bool + """ + return self._tag == 'request_to_join' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'GroupJoinPolicy(%r, %r)' % (self._tag, self._value) + +GroupJoinPolicy_validator = bv.Union(GroupJoinPolicy) + +class GroupJoinPolicyUpdatedDetails(object): + """ + Updated a group join policy. + + :ivar group_info: Group details. + :ivar is_admin_managed: Is admin managed group. Might be missing due to + historical data gap. + :ivar join_policy: Group join policy. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_is_admin_managed_value', + '_is_admin_managed_present', + '_join_policy_value', + '_join_policy_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + join_policy=None, + is_admin_managed=None): + self._group_info_value = None + self._group_info_present = False + self._is_admin_managed_value = None + self._is_admin_managed_present = False + self._join_policy_value = None + self._join_policy_present = False + if group_info is not None: + self.group_info = group_info + if is_admin_managed is not None: + self.is_admin_managed = is_admin_managed + if join_policy is not None: + self.join_policy = join_policy + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def is_admin_managed(self): + """ + Is admin managed group. Might be missing due to historical data gap. + + :rtype: bool + """ + if self._is_admin_managed_present: + return self._is_admin_managed_value + else: + return None + + @is_admin_managed.setter + def is_admin_managed(self, val): + if val is None: + del self.is_admin_managed + return + val = self._is_admin_managed_validator.validate(val) + self._is_admin_managed_value = val + self._is_admin_managed_present = True + + @is_admin_managed.deleter + def is_admin_managed(self): + self._is_admin_managed_value = None + self._is_admin_managed_present = False + + @property + def join_policy(self): + """ + Group join policy. + + :rtype: GroupJoinPolicy + """ + if self._join_policy_present: + return self._join_policy_value + else: + raise AttributeError("missing required field 'join_policy'") + + @join_policy.setter + def join_policy(self, val): + self._join_policy_validator.validate_type_only(val) + self._join_policy_value = val + self._join_policy_present = True + + @join_policy.deleter + def join_policy(self): + self._join_policy_value = None + self._join_policy_present = False + + def __repr__(self): + return 'GroupJoinPolicyUpdatedDetails(group_info={!r}, join_policy={!r}, is_admin_managed={!r})'.format( + self._group_info_value, + self._join_policy_value, + self._is_admin_managed_value, + ) + +GroupJoinPolicyUpdatedDetails_validator = bv.Struct(GroupJoinPolicyUpdatedDetails) + +class GroupLogInfo(object): + """ + Group's logged information. + + :ivar group_id: The unique id of this group. Might be missing due to + historical data gap. + :ivar display_name: The name of this group. + :ivar external_id: External group ID. Might be missing due to historical + data gap. + """ + + __slots__ = [ + '_group_id_value', + '_group_id_present', + '_display_name_value', + '_display_name_present', + '_external_id_value', + '_external_id_present', + ] + + _has_required_fields = True + + def __init__(self, + display_name=None, + group_id=None, + external_id=None): + self._group_id_value = None + self._group_id_present = False + self._display_name_value = None + self._display_name_present = False + self._external_id_value = None + self._external_id_present = False + if group_id is not None: + self.group_id = group_id + if display_name is not None: + self.display_name = display_name + if external_id is not None: + self.external_id = external_id + + @property + def group_id(self): + """ + The unique id of this group. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._group_id_present: + return self._group_id_value + else: + return None + + @group_id.setter + def group_id(self, val): + if val is None: + del self.group_id + return + val = self._group_id_validator.validate(val) + self._group_id_value = val + self._group_id_present = True + + @group_id.deleter + def group_id(self): + self._group_id_value = None + self._group_id_present = False + + @property + def display_name(self): + """ + The name of this group. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + raise AttributeError("missing required field 'display_name'") + + @display_name.setter + def display_name(self, val): + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + @property + def external_id(self): + """ + External group ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._external_id_present: + return self._external_id_value + else: + return None + + @external_id.setter + def external_id(self, val): + if val is None: + del self.external_id + return + val = self._external_id_validator.validate(val) + self._external_id_value = val + self._external_id_present = True + + @external_id.deleter + def external_id(self): + self._external_id_value = None + self._external_id_present = False + + def __repr__(self): + return 'GroupLogInfo(display_name={!r}, group_id={!r}, external_id={!r})'.format( + self._display_name_value, + self._group_id_value, + self._external_id_value, + ) + +GroupLogInfo_validator = bv.Struct(GroupLogInfo) + +class GroupManagementType(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + admin_management_group = None + # Attribute is overwritten below the class definition + member_management_group = None + # Attribute is overwritten below the class definition + other = None + + def is_admin_management_group(self): + """ + Check if the union tag is ``admin_management_group``. + + :rtype: bool + """ + return self._tag == 'admin_management_group' + + def is_member_management_group(self): + """ + Check if the union tag is ``member_management_group``. + + :rtype: bool + """ + return self._tag == 'member_management_group' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'GroupManagementType(%r, %r)' % (self._tag, self._value) + +GroupManagementType_validator = bv.Union(GroupManagementType) + +class GroupMovedDetails(object): + """ + Moved a group. + + :ivar group_info: Group details. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None): + self._group_info_value = None + self._group_info_present = False + if group_info is not None: + self.group_info = group_info + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + def __repr__(self): + return 'GroupMovedDetails(group_info={!r})'.format( + self._group_info_value, + ) + +GroupMovedDetails_validator = bv.Struct(GroupMovedDetails) + +class GroupRemoveExternalIdDetails(object): + """ + Removed the external ID for group. + + :ivar group_info: Group details. + :ivar previous_value: Old external id. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + previous_value=None): + self._group_info_value = None + self._group_info_present = False + self._previous_value_value = None + self._previous_value_present = False + if group_info is not None: + self.group_info = group_info + if previous_value is not None: + self.previous_value = previous_value + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def previous_value(self): + """ + Old external id. + + :rtype: str + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + val = self._previous_value_validator.validate(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GroupRemoveExternalIdDetails(group_info={!r}, previous_value={!r})'.format( + self._group_info_value, + self._previous_value_value, + ) + +GroupRemoveExternalIdDetails_validator = bv.Struct(GroupRemoveExternalIdDetails) + +class GroupRemoveMemberDetails(object): + """ + Removed team members from a group. + + :ivar group_info: Group details. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None): + self._group_info_value = None + self._group_info_present = False + if group_info is not None: + self.group_info = group_info + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + def __repr__(self): + return 'GroupRemoveMemberDetails(group_info={!r})'.format( + self._group_info_value, + ) + +GroupRemoveMemberDetails_validator = bv.Struct(GroupRemoveMemberDetails) + +class GroupRenameDetails(object): + """ + Renamed a group. + + :ivar group_info: Group details. + :ivar previous_value: Previous display name. + """ + + __slots__ = [ + '_group_info_value', + '_group_info_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + group_info=None, + previous_value=None): + self._group_info_value = None + self._group_info_present = False + self._previous_value_value = None + self._previous_value_present = False + if group_info is not None: + self.group_info = group_info + if previous_value is not None: + self.previous_value = previous_value + + @property + def group_info(self): + """ + Group details. + + :rtype: GroupLogInfo + """ + if self._group_info_present: + return self._group_info_value + else: + raise AttributeError("missing required field 'group_info'") + + @group_info.setter + def group_info(self, val): + self._group_info_validator.validate_type_only(val) + self._group_info_value = val + self._group_info_present = True + + @group_info.deleter + def group_info(self): + self._group_info_value = None + self._group_info_present = False + + @property + def previous_value(self): + """ + Previous display name. + + :rtype: str + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + val = self._previous_value_validator.validate(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GroupRenameDetails(group_info={!r}, previous_value={!r})'.format( + self._group_info_value, + self._previous_value_value, + ) + +GroupRenameDetails_validator = bv.Struct(GroupRenameDetails) + +class GroupUserManagementChangePolicyDetails(object): + """ + Changed who can create groups. + + :ivar new_value: New group users management policy. + :ivar previous_value: Previous group users management policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New group users management policy. + + :rtype: GroupsUserManagementPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous group users management policy. Might be missing due to + historical data gap. + + :rtype: GroupsUserManagementPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'GroupUserManagementChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +GroupUserManagementChangePolicyDetails_validator = bv.Struct(GroupUserManagementChangePolicyDetails) + +class GroupsUserManagementPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + all_users = None + # Attribute is overwritten below the class definition + only_admins = None + # Attribute is overwritten below the class definition + other = None + + def is_all_users(self): + """ + Check if the union tag is ``all_users``. + + :rtype: bool + """ + return self._tag == 'all_users' + + def is_only_admins(self): + """ + Check if the union tag is ``only_admins``. + + :rtype: bool + """ + return self._tag == 'only_admins' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'GroupsUserManagementPolicy(%r, %r)' % (self._tag, self._value) + +GroupsUserManagementPolicy_validator = bv.Union(GroupsUserManagementPolicy) + +class HostLogInfo(object): + """ + Host details. + + :ivar host_id: Host ID. Might be missing due to historical data gap. + :ivar host_name: Host name. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_host_id_value', + '_host_id_present', + '_host_name_value', + '_host_name_present', + ] + + _has_required_fields = False + + def __init__(self, + host_id=None, + host_name=None): + self._host_id_value = None + self._host_id_present = False + self._host_name_value = None + self._host_name_present = False + if host_id is not None: + self.host_id = host_id + if host_name is not None: + self.host_name = host_name + + @property + def host_id(self): + """ + Host ID. Might be missing due to historical data gap. + + :rtype: long + """ + if self._host_id_present: + return self._host_id_value + else: + return None + + @host_id.setter + def host_id(self, val): + if val is None: + del self.host_id + return + val = self._host_id_validator.validate(val) + self._host_id_value = val + self._host_id_present = True + + @host_id.deleter + def host_id(self): + self._host_id_value = None + self._host_id_present = False + + @property + def host_name(self): + """ + Host name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._host_name_present: + return self._host_name_value + else: + return None + + @host_name.setter + def host_name(self, val): + if val is None: + del self.host_name + return + val = self._host_name_validator.validate(val) + self._host_name_value = val + self._host_name_present = True + + @host_name.deleter + def host_name(self): + self._host_name_value = None + self._host_name_present = False + + def __repr__(self): + return 'HostLogInfo(host_id={!r}, host_name={!r})'.format( + self._host_id_value, + self._host_name_value, + ) + +HostLogInfo_validator = bv.Struct(HostLogInfo) + +class LinkAudience(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + public = None + # Attribute is overwritten below the class definition + team = None + # Attribute is overwritten below the class definition + members = None + # Attribute is overwritten below the class definition + other = None + + def is_public(self): + """ + Check if the union tag is ``public``. + + :rtype: bool + """ + return self._tag == 'public' + + def is_team(self): + """ + Check if the union tag is ``team``. + + :rtype: bool + """ + return self._tag == 'team' + + def is_members(self): + """ + Check if the union tag is ``members``. + + :rtype: bool + """ + return self._tag == 'members' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'LinkAudience(%r, %r)' % (self._tag, self._value) + +LinkAudience_validator = bv.Union(LinkAudience) + +class LogoutDetails(object): + """ + Signed out. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'LogoutDetails()' + +LogoutDetails_validator = bv.Struct(LogoutDetails) + +class MemberAddNameDetails(object): + """ + Set team member name when joining team. + + :ivar new_value: User's name. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None): + self._new_value_value = None + self._new_value_present = False + if new_value is not None: + self.new_value = new_value + + @property + def new_value(self): + """ + User's name. + + :rtype: UserNameLogInfo + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + def __repr__(self): + return 'MemberAddNameDetails(new_value={!r})'.format( + self._new_value_value, + ) + +MemberAddNameDetails_validator = bv.Struct(MemberAddNameDetails) + +class MemberChangeEmailDetails(object): + """ + Changed team member email address. + + :ivar new_value: New email. + :ivar previous_value: Previous email. Might be missing due to historical + data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New email. + + :rtype: str + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + val = self._new_value_validator.validate(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous email. Might be missing due to historical data gap. + + :rtype: str + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + val = self._previous_value_validator.validate(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MemberChangeEmailDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberChangeEmailDetails_validator = bv.Struct(MemberChangeEmailDetails) + +class MemberChangeMembershipTypeDetails(object): + """ + Changed the membership type (limited vs full) for team member. + + :ivar prev_membership_type: Previous membership type. + :ivar new_membership_type: New membership type. + """ + + __slots__ = [ + '_prev_membership_type_value', + '_prev_membership_type_present', + '_new_membership_type_value', + '_new_membership_type_present', + ] + + _has_required_fields = True + + def __init__(self, + prev_membership_type=None, + new_membership_type=None): + self._prev_membership_type_value = None + self._prev_membership_type_present = False + self._new_membership_type_value = None + self._new_membership_type_present = False + if prev_membership_type is not None: + self.prev_membership_type = prev_membership_type + if new_membership_type is not None: + self.new_membership_type = new_membership_type + + @property + def prev_membership_type(self): + """ + Previous membership type. + + :rtype: long + """ + if self._prev_membership_type_present: + return self._prev_membership_type_value + else: + raise AttributeError("missing required field 'prev_membership_type'") + + @prev_membership_type.setter + def prev_membership_type(self, val): + val = self._prev_membership_type_validator.validate(val) + self._prev_membership_type_value = val + self._prev_membership_type_present = True + + @prev_membership_type.deleter + def prev_membership_type(self): + self._prev_membership_type_value = None + self._prev_membership_type_present = False + + @property + def new_membership_type(self): + """ + New membership type. + + :rtype: long + """ + if self._new_membership_type_present: + return self._new_membership_type_value + else: + raise AttributeError("missing required field 'new_membership_type'") + + @new_membership_type.setter + def new_membership_type(self, val): + val = self._new_membership_type_validator.validate(val) + self._new_membership_type_value = val + self._new_membership_type_present = True + + @new_membership_type.deleter + def new_membership_type(self): + self._new_membership_type_value = None + self._new_membership_type_present = False + + def __repr__(self): + return 'MemberChangeMembershipTypeDetails(prev_membership_type={!r}, new_membership_type={!r})'.format( + self._prev_membership_type_value, + self._new_membership_type_value, + ) + +MemberChangeMembershipTypeDetails_validator = bv.Struct(MemberChangeMembershipTypeDetails) + +class MemberChangeNameDetails(object): + """ + Changed team member name. + + :ivar new_value: New user's name. + :ivar previous_value: Previous user's name. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New user's name. + + :rtype: UserNameLogInfo + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous user's name. + + :rtype: UserNameLogInfo + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MemberChangeNameDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberChangeNameDetails_validator = bv.Struct(MemberChangeNameDetails) + +class MemberChangeRoleDetails(object): + """ + Change the admin permissions belonging to team member. + + :ivar new_value: New admin role. Might be missing due to historical data + gap. + :ivar previous_value: Previous admin role. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New admin role. Might be missing due to historical data gap. + + :rtype: str + """ + if self._new_value_present: + return self._new_value_value + else: + return None + + @new_value.setter + def new_value(self, val): + if val is None: + del self.new_value + return + val = self._new_value_validator.validate(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous admin role. Might be missing due to historical data gap. + + :rtype: str + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + val = self._previous_value_validator.validate(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MemberChangeRoleDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberChangeRoleDetails_validator = bv.Struct(MemberChangeRoleDetails) + +class MemberInviteDetails(object): + """ + Invited a user to join the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberInviteDetails()' + +MemberInviteDetails_validator = bv.Struct(MemberInviteDetails) + +class MemberJoinDetails(object): + """ + Joined the team. + + :ivar linked_apps: Linked Applications. + :ivar initial_shared_folders: Shared folders. + :ivar linked_devices: Linked devices. + """ + + __slots__ = [ + '_linked_apps_value', + '_linked_apps_present', + '_initial_shared_folders_value', + '_initial_shared_folders_present', + '_linked_devices_value', + '_linked_devices_present', + ] + + _has_required_fields = True + + def __init__(self, + linked_apps=None, + initial_shared_folders=None, + linked_devices=None): + self._linked_apps_value = None + self._linked_apps_present = False + self._initial_shared_folders_value = None + self._initial_shared_folders_present = False + self._linked_devices_value = None + self._linked_devices_present = False + if linked_apps is not None: + self.linked_apps = linked_apps + if initial_shared_folders is not None: + self.initial_shared_folders = initial_shared_folders + if linked_devices is not None: + self.linked_devices = linked_devices + + @property + def linked_apps(self): + """ + Linked Applications. + + :rtype: list of [AppLogInfo] + """ + if self._linked_apps_present: + return self._linked_apps_value + else: + raise AttributeError("missing required field 'linked_apps'") + + @linked_apps.setter + def linked_apps(self, val): + val = self._linked_apps_validator.validate(val) + self._linked_apps_value = val + self._linked_apps_present = True + + @linked_apps.deleter + def linked_apps(self): + self._linked_apps_value = None + self._linked_apps_present = False + + @property + def initial_shared_folders(self): + """ + Shared folders. + + :rtype: list of [SharedFolderLogInfo] + """ + if self._initial_shared_folders_present: + return self._initial_shared_folders_value + else: + raise AttributeError("missing required field 'initial_shared_folders'") + + @initial_shared_folders.setter + def initial_shared_folders(self, val): + val = self._initial_shared_folders_validator.validate(val) + self._initial_shared_folders_value = val + self._initial_shared_folders_present = True + + @initial_shared_folders.deleter + def initial_shared_folders(self): + self._initial_shared_folders_value = None + self._initial_shared_folders_present = False + + @property + def linked_devices(self): + """ + Linked devices. + + :rtype: list of [DeviceLogInfo] + """ + if self._linked_devices_present: + return self._linked_devices_value + else: + raise AttributeError("missing required field 'linked_devices'") + + @linked_devices.setter + def linked_devices(self, val): + val = self._linked_devices_validator.validate(val) + self._linked_devices_value = val + self._linked_devices_present = True + + @linked_devices.deleter + def linked_devices(self): + self._linked_devices_value = None + self._linked_devices_present = False + + def __repr__(self): + return 'MemberJoinDetails(linked_apps={!r}, initial_shared_folders={!r}, linked_devices={!r})'.format( + self._linked_apps_value, + self._initial_shared_folders_value, + self._linked_devices_value, + ) + +MemberJoinDetails_validator = bv.Struct(MemberJoinDetails) + +class MemberLeaveDetails(object): + """ + Removed a team member. + + :ivar member_was_on_team: True if the member had joined the team before + leaving, False otherwise. + """ + + __slots__ = [ + '_member_was_on_team_value', + '_member_was_on_team_present', + ] + + _has_required_fields = True + + def __init__(self, + member_was_on_team=None): + self._member_was_on_team_value = None + self._member_was_on_team_present = False + if member_was_on_team is not None: + self.member_was_on_team = member_was_on_team + + @property + def member_was_on_team(self): + """ + True if the member had joined the team before leaving, False otherwise. + + :rtype: bool + """ + if self._member_was_on_team_present: + return self._member_was_on_team_value + else: + raise AttributeError("missing required field 'member_was_on_team'") + + @member_was_on_team.setter + def member_was_on_team(self, val): + val = self._member_was_on_team_validator.validate(val) + self._member_was_on_team_value = val + self._member_was_on_team_present = True + + @member_was_on_team.deleter + def member_was_on_team(self): + self._member_was_on_team_value = None + self._member_was_on_team_present = False + + def __repr__(self): + return 'MemberLeaveDetails(member_was_on_team={!r})'.format( + self._member_was_on_team_value, + ) + +MemberLeaveDetails_validator = bv.Struct(MemberLeaveDetails) + +class MemberPermanentlyDeleteAccountContentsDetails(object): + """ + Permanently deleted contents of a removed team member account. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberPermanentlyDeleteAccountContentsDetails()' + +MemberPermanentlyDeleteAccountContentsDetails_validator = bv.Struct(MemberPermanentlyDeleteAccountContentsDetails) + +class MemberRecoverDetails(object): + """ + Recovered a removed member. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberRecoverDetails()' + +MemberRecoverDetails_validator = bv.Struct(MemberRecoverDetails) + +class MemberRequestsChangePolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + require_approval = None + # Attribute is overwritten below the class definition + auto_approval = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_require_approval(self): + """ + Check if the union tag is ``require_approval``. + + :rtype: bool + """ + return self._tag == 'require_approval' + + def is_auto_approval(self): + """ + Check if the union tag is ``auto_approval``. + + :rtype: bool + """ + return self._tag == 'auto_approval' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'MemberRequestsChangePolicy(%r, %r)' % (self._tag, self._value) + +MemberRequestsChangePolicy_validator = bv.Union(MemberRequestsChangePolicy) + +class MemberRequestsChangePolicyDetails(object): + """ + Changed whether users can find the team when not invited. + + :ivar new_value: New member change requests policy. + :ivar previous_value: Previous member change requests policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New member change requests policy. + + :rtype: MemberRequestsChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous member change requests policy. Might be missing due to + historical data gap. + + :rtype: MemberRequestsChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MemberRequestsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberRequestsChangePolicyDetails_validator = bv.Struct(MemberRequestsChangePolicyDetails) + +class MemberSpaceLimitsAddExceptionDetails(object): + """ + Added an exception for one or more team members to bypass space limits + imposed by policy. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberSpaceLimitsAddExceptionDetails()' + +MemberSpaceLimitsAddExceptionDetails_validator = bv.Struct(MemberSpaceLimitsAddExceptionDetails) + +class MemberSpaceLimitsChangePolicyDetails(object): + """ + Changed the storage limits applied to team members by policy. + + :ivar previous_value: Previous storage limits policy. + :ivar new_value: New storage limits policy. + """ + + __slots__ = [ + '_previous_value_value', + '_previous_value_present', + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_value=None, + new_value=None): + self._previous_value_value = None + self._previous_value_present = False + self._new_value_value = None + self._new_value_present = False + if previous_value is not None: + self.previous_value = previous_value + if new_value is not None: + self.new_value = new_value + + @property + def previous_value(self): + """ + Previous storage limits policy. + + :rtype: SpaceLimitsLevel + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + @property + def new_value(self): + """ + New storage limits policy. + + :rtype: SpaceLimitsLevel + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + def __repr__(self): + return 'MemberSpaceLimitsChangePolicyDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +MemberSpaceLimitsChangePolicyDetails_validator = bv.Struct(MemberSpaceLimitsChangePolicyDetails) + +class MemberSpaceLimitsChangeStatusDetails(object): + """ + Changed the status with respect to whether the team member is under or over + storage quota specified by policy. + + :ivar previous_status: Previous storage quota status. + :ivar new_status: New storage quota status. + """ + + __slots__ = [ + '_previous_status_value', + '_previous_status_present', + '_new_status_value', + '_new_status_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_status=None, + new_status=None): + self._previous_status_value = None + self._previous_status_present = False + self._new_status_value = None + self._new_status_present = False + if previous_status is not None: + self.previous_status = previous_status + if new_status is not None: + self.new_status = new_status + + @property + def previous_status(self): + """ + Previous storage quota status. + + :rtype: SpaceLimitsStatus + """ + if self._previous_status_present: + return self._previous_status_value + else: + raise AttributeError("missing required field 'previous_status'") + + @previous_status.setter + def previous_status(self, val): + self._previous_status_validator.validate_type_only(val) + self._previous_status_value = val + self._previous_status_present = True + + @previous_status.deleter + def previous_status(self): + self._previous_status_value = None + self._previous_status_present = False + + @property + def new_status(self): + """ + New storage quota status. + + :rtype: SpaceLimitsStatus + """ + if self._new_status_present: + return self._new_status_value + else: + raise AttributeError("missing required field 'new_status'") + + @new_status.setter + def new_status(self, val): + self._new_status_validator.validate_type_only(val) + self._new_status_value = val + self._new_status_present = True + + @new_status.deleter + def new_status(self): + self._new_status_value = None + self._new_status_present = False + + def __repr__(self): + return 'MemberSpaceLimitsChangeStatusDetails(previous_status={!r}, new_status={!r})'.format( + self._previous_status_value, + self._new_status_value, + ) + +MemberSpaceLimitsChangeStatusDetails_validator = bv.Struct(MemberSpaceLimitsChangeStatusDetails) + +class MemberSpaceLimitsRemoveExceptionDetails(object): + """ + Removed an exception for one or more team members to bypass space limits + imposed by policy. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberSpaceLimitsRemoveExceptionDetails()' + +MemberSpaceLimitsRemoveExceptionDetails_validator = bv.Struct(MemberSpaceLimitsRemoveExceptionDetails) + +class MemberSuggestDetails(object): + """ + Suggested a new team member to be added to the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberSuggestDetails()' + +MemberSuggestDetails_validator = bv.Struct(MemberSuggestDetails) + +class MemberSuggestionsChangePolicyDetails(object): + """ + Enabled or disabled the option for team members to suggest new members to + add to the team. + + :ivar new_value: New team member suggestions policy. + :ivar previous_value: Previous team member suggestions policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New team member suggestions policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous team member suggestions policy. Might be missing due to + historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MemberSuggestionsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberSuggestionsChangePolicyDetails_validator = bv.Struct(MemberSuggestionsChangePolicyDetails) + +class MemberSuspendDetails(object): + """ + Suspended a team member. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberSuspendDetails()' + +MemberSuspendDetails_validator = bv.Struct(MemberSuspendDetails) + +class MemberTransferAccountContentsDetails(object): + """ + Transferred contents of a removed team member account to another member. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'MemberTransferAccountContentsDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +MemberTransferAccountContentsDetails_validator = bv.Struct(MemberTransferAccountContentsDetails) + +class MemberUnsuspendDetails(object): + """ + Unsuspended a team member. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MemberUnsuspendDetails()' + +MemberUnsuspendDetails_validator = bv.Struct(MemberUnsuspendDetails) + +class MicrosoftOfficeAddinChangePolicyDetails(object): + """ + Enabled or disabled the Microsoft Office add-in, which lets team members + save files to Dropbox directly from Microsoft Office. + + :ivar new_value: New Microsoft Office addin policy. + :ivar previous_value: Previous Microsoft Office addin policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New Microsoft Office addin policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous Microsoft Office addin policy. Might be missing due to + historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'MicrosoftOfficeAddinChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MicrosoftOfficeAddinChangePolicyDetails_validator = bv.Struct(MicrosoftOfficeAddinChangePolicyDetails) + +class MissingDetails(object): + """ + An indication that an event was returned with missing details + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'MissingDetails()' + +MissingDetails_validator = bv.Struct(MissingDetails) + +class MobileSessionLogInfo(SessionLogInfo): + """ + Mobile session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + session_id=None): + super(MobileSessionLogInfo, self).__init__(session_id) + + def __repr__(self): + return 'MobileSessionLogInfo(session_id={!r})'.format( + self._session_id_value, + ) + +MobileSessionLogInfo_validator = bv.Struct(MobileSessionLogInfo) + +class NamespaceRelativePathLogInfo(object): + """ + Namespace relative path details. + + :ivar ns_id: Namespace ID. Might be missing due to historical data gap. + :ivar relative_path: A path relative to the specified namespace ID. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_ns_id_value', + '_ns_id_present', + '_relative_path_value', + '_relative_path_present', + ] + + _has_required_fields = False + + def __init__(self, + ns_id=None, + relative_path=None): + self._ns_id_value = None + self._ns_id_present = False + self._relative_path_value = None + self._relative_path_present = False + if ns_id is not None: + self.ns_id = ns_id + if relative_path is not None: + self.relative_path = relative_path + + @property + def ns_id(self): + """ + Namespace ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._ns_id_present: + return self._ns_id_value + else: + return None + + @ns_id.setter + def ns_id(self, val): + if val is None: + del self.ns_id + return + val = self._ns_id_validator.validate(val) + self._ns_id_value = val + self._ns_id_present = True + + @ns_id.deleter + def ns_id(self): + self._ns_id_value = None + self._ns_id_present = False + + @property + def relative_path(self): + """ + A path relative to the specified namespace ID. Might be missing due to + historical data gap. + + :rtype: str + """ + if self._relative_path_present: + return self._relative_path_value + else: + return None + + @relative_path.setter + def relative_path(self, val): + if val is None: + del self.relative_path + return + val = self._relative_path_validator.validate(val) + self._relative_path_value = val + self._relative_path_present = True + + @relative_path.deleter + def relative_path(self): + self._relative_path_value = None + self._relative_path_present = False + + def __repr__(self): + return 'NamespaceRelativePathLogInfo(ns_id={!r}, relative_path={!r})'.format( + self._ns_id_value, + self._relative_path_value, + ) + +NamespaceRelativePathLogInfo_validator = bv.Struct(NamespaceRelativePathLogInfo) + +class NetworkControlChangePolicyDetails(object): + """ + Enabled or disabled network control. + + :ivar new_value: New network control policy. + :ivar previous_value: Previous network control policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New network control policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous network control policy. Might be missing due to historical data + gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'NetworkControlChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +NetworkControlChangePolicyDetails_validator = bv.Struct(NetworkControlChangePolicyDetails) + +class UserLogInfo(object): + """ + User's logged information. + + :ivar account_id: User unique ID. Might be missing due to historical data + gap. + :ivar display_name: User display name. Might be missing due to historical + data gap. + :ivar email: User email address. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_account_id_value', + '_account_id_present', + '_display_name_value', + '_display_name_present', + '_email_value', + '_email_present', + ] + + _has_required_fields = False + + def __init__(self, + account_id=None, + display_name=None, + email=None): + self._account_id_value = None + self._account_id_present = False + self._display_name_value = None + self._display_name_present = False + self._email_value = None + self._email_present = False + if account_id is not None: + self.account_id = account_id + if display_name is not None: + self.display_name = display_name + if email is not None: + self.email = email + + @property + def account_id(self): + """ + User unique ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._account_id_present: + return self._account_id_value + else: + return None + + @account_id.setter + def account_id(self, val): + if val is None: + del self.account_id + return + val = self._account_id_validator.validate(val) + self._account_id_value = val + self._account_id_present = True + + @account_id.deleter + def account_id(self): + self._account_id_value = None + self._account_id_present = False + + @property + def display_name(self): + """ + User display name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + return None + + @display_name.setter + def display_name(self, val): + if val is None: + del self.display_name + return + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + @property + def email(self): + """ + User email address. Might be missing due to historical data gap. + + :rtype: str + """ + if self._email_present: + return self._email_value + else: + return None + + @email.setter + def email(self, val): + if val is None: + del self.email + return + val = self._email_validator.validate(val) + self._email_value = val + self._email_present = True + + @email.deleter + def email(self): + self._email_value = None + self._email_present = False + + def __repr__(self): + return 'UserLogInfo(account_id={!r}, display_name={!r}, email={!r})'.format( + self._account_id_value, + self._display_name_value, + self._email_value, + ) + +UserLogInfo_validator = bv.StructTree(UserLogInfo) + +class NonTeamMemberLogInfo(UserLogInfo): + """ + Non team member's logged information. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + account_id=None, + display_name=None, + email=None): + super(NonTeamMemberLogInfo, self).__init__(account_id, + display_name, + email) + + def __repr__(self): + return 'NonTeamMemberLogInfo(account_id={!r}, display_name={!r}, email={!r})'.format( + self._account_id_value, + self._display_name_value, + self._email_value, + ) + +NonTeamMemberLogInfo_validator = bv.Struct(NonTeamMemberLogInfo) + +class NoteAclInviteOnlyDetails(object): + """ + Changed a Paper document to be invite-only. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'NoteAclInviteOnlyDetails()' + +NoteAclInviteOnlyDetails_validator = bv.Struct(NoteAclInviteOnlyDetails) + +class NoteAclLinkDetails(object): + """ + Changed a Paper document to be link accessible. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'NoteAclLinkDetails()' + +NoteAclLinkDetails_validator = bv.Struct(NoteAclLinkDetails) + +class NoteAclTeamLinkDetails(object): + """ + Changed a Paper document to be link accessible for the team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'NoteAclTeamLinkDetails()' + +NoteAclTeamLinkDetails_validator = bv.Struct(NoteAclTeamLinkDetails) + +class NoteShareReceiveDetails(object): + """ + Shared Paper document received. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'NoteShareReceiveDetails()' + +NoteShareReceiveDetails_validator = bv.Struct(NoteShareReceiveDetails) + +class NoteSharedDetails(object): + """ + Shared a Paper doc. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'NoteSharedDetails()' + +NoteSharedDetails_validator = bv.Struct(NoteSharedDetails) + +class OpenNoteSharedDetails(object): + """ + Opened a shared Paper doc. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'OpenNoteSharedDetails()' + +OpenNoteSharedDetails_validator = bv.Struct(OpenNoteSharedDetails) + +class OptionalChangePolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + optional = None + # Attribute is overwritten below the class definition + required = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_optional(self): + """ + Check if the union tag is ``optional``. + + :rtype: bool + """ + return self._tag == 'optional' + + def is_required(self): + """ + Check if the union tag is ``required``. + + :rtype: bool + """ + return self._tag == 'required' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'OptionalChangePolicy(%r, %r)' % (self._tag, self._value) + +OptionalChangePolicy_validator = bv.Union(OptionalChangePolicy) + +class OriginLogInfo(object): + """ + The origin from which the actor performed the action. + + :ivar geo_location: Geographic location details. + :ivar host: Host details. + :ivar access_method: The method that was used to perform the action. + """ + + __slots__ = [ + '_geo_location_value', + '_geo_location_present', + '_host_value', + '_host_present', + '_access_method_value', + '_access_method_present', + ] + + _has_required_fields = True + + def __init__(self, + access_method=None, + geo_location=None, + host=None): + self._geo_location_value = None + self._geo_location_present = False + self._host_value = None + self._host_present = False + self._access_method_value = None + self._access_method_present = False + if geo_location is not None: + self.geo_location = geo_location + if host is not None: + self.host = host + if access_method is not None: + self.access_method = access_method + + @property + def geo_location(self): + """ + Geographic location details. + + :rtype: GeoLocationLogInfo + """ + if self._geo_location_present: + return self._geo_location_value + else: + return None + + @geo_location.setter + def geo_location(self, val): + if val is None: + del self.geo_location + return + self._geo_location_validator.validate_type_only(val) + self._geo_location_value = val + self._geo_location_present = True + + @geo_location.deleter + def geo_location(self): + self._geo_location_value = None + self._geo_location_present = False + + @property + def host(self): + """ + Host details. + + :rtype: HostLogInfo + """ + if self._host_present: + return self._host_value + else: + return None + + @host.setter + def host(self, val): + if val is None: + del self.host + return + self._host_validator.validate_type_only(val) + self._host_value = val + self._host_present = True + + @host.deleter + def host(self): + self._host_value = None + self._host_present = False + + @property + def access_method(self): + """ + The method that was used to perform the action. + + :rtype: AccessMethodLogInfo + """ + if self._access_method_present: + return self._access_method_value + else: + raise AttributeError("missing required field 'access_method'") + + @access_method.setter + def access_method(self, val): + self._access_method_validator.validate_type_only(val) + self._access_method_value = val + self._access_method_present = True + + @access_method.deleter + def access_method(self): + self._access_method_value = None + self._access_method_present = False + + def __repr__(self): + return 'OriginLogInfo(access_method={!r}, geo_location={!r}, host={!r})'.format( + self._access_method_value, + self._geo_location_value, + self._host_value, + ) + +OriginLogInfo_validator = bv.Struct(OriginLogInfo) + +class PaperAccessType(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + viewer = None + # Attribute is overwritten below the class definition + commenter = None + # Attribute is overwritten below the class definition + editor = None + # Attribute is overwritten below the class definition + other = None + + def is_viewer(self): + """ + Check if the union tag is ``viewer``. + + :rtype: bool + """ + return self._tag == 'viewer' + + def is_commenter(self): + """ + Check if the union tag is ``commenter``. + + :rtype: bool + """ + return self._tag == 'commenter' + + def is_editor(self): + """ + Check if the union tag is ``editor``. + + :rtype: bool + """ + return self._tag == 'editor' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'PaperAccessType(%r, %r)' % (self._tag, self._value) + +PaperAccessType_validator = bv.Union(PaperAccessType) + +class PaperChangeDeploymentPolicyDetails(object): + """ + Changed whether Dropbox Paper, when enabled, is deployed to all teams or to + specific members of the team. + + :ivar new_value: New Dropbox Paper deployment policy. + :ivar previous_value: Previous Dropbox Paper deployment policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New Dropbox Paper deployment policy. + + :rtype: PaperDeploymentPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous Dropbox Paper deployment policy. Might be missing due to + historical data gap. + + :rtype: PaperDeploymentPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'PaperChangeDeploymentPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PaperChangeDeploymentPolicyDetails_validator = bv.Struct(PaperChangeDeploymentPolicyDetails) + +class PaperChangeMemberPolicyDetails(object): + """ + Changed whether team members can share Paper documents externally (i.e. + outside the team), and if so, whether they should be accessible only by team + members or anyone by default. + + :ivar new_value: New paper external accessibility policy. + :ivar previous_value: Previous paper external accessibility policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New paper external accessibility policy. + + :rtype: ExternalSharingAccessibilityPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous paper external accessibility policy. Might be missing due to + historical data gap. + + :rtype: ExternalSharingAccessibilityPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'PaperChangeMemberPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PaperChangeMemberPolicyDetails_validator = bv.Struct(PaperChangeMemberPolicyDetails) + +class PaperChangePolicyDetails(object): + """ + Enabled or disabled Dropbox Paper for the team. + + :ivar new_value: New Dropbox Paper policy. + :ivar previous_value: Previous Dropbox Paper policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New Dropbox Paper policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous Dropbox Paper policy. Might be missing due to historical data + gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'PaperChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PaperChangePolicyDetails_validator = bv.Struct(PaperChangePolicyDetails) + +class PaperContentAddMemberDetails(object): + """ + Added users to the membership of a Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentAddMemberDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentAddMemberDetails_validator = bv.Struct(PaperContentAddMemberDetails) + +class PaperContentAddToFolderDetails(object): + """ + Added Paper doc or folder to a folder. + + :ivar event_uuid: Event unique identifier. + :ivar target_index: Target asset index. + :ivar parent_index: Parent asset index. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_target_index_value', + '_target_index_present', + '_parent_index_value', + '_parent_index_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + target_index=None, + parent_index=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._target_index_value = None + self._target_index_present = False + self._parent_index_value = None + self._parent_index_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if target_index is not None: + self.target_index = target_index + if parent_index is not None: + self.parent_index = parent_index + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def parent_index(self): + """ + Parent asset index. + + :rtype: long + """ + if self._parent_index_present: + return self._parent_index_value + else: + raise AttributeError("missing required field 'parent_index'") + + @parent_index.setter + def parent_index(self, val): + val = self._parent_index_validator.validate(val) + self._parent_index_value = val + self._parent_index_present = True + + @parent_index.deleter + def parent_index(self): + self._parent_index_value = None + self._parent_index_present = False + + def __repr__(self): + return 'PaperContentAddToFolderDetails(event_uuid={!r}, target_index={!r}, parent_index={!r})'.format( + self._event_uuid_value, + self._target_index_value, + self._parent_index_value, + ) + +PaperContentAddToFolderDetails_validator = bv.Struct(PaperContentAddToFolderDetails) + +class PaperContentArchiveDetails(object): + """ + Archived Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentArchiveDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentArchiveDetails_validator = bv.Struct(PaperContentArchiveDetails) + +class PaperContentChangeSubscriptionDetails(object): + """ + Followed or unfollowed a Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + :ivar new_subscription_level: New subscription level. + :ivar previous_subscription_level: Previous subscription level. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_new_subscription_level_value', + '_new_subscription_level_present', + '_previous_subscription_level_value', + '_previous_subscription_level_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + new_subscription_level=None, + previous_subscription_level=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._new_subscription_level_value = None + self._new_subscription_level_present = False + self._previous_subscription_level_value = None + self._previous_subscription_level_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if new_subscription_level is not None: + self.new_subscription_level = new_subscription_level + if previous_subscription_level is not None: + self.previous_subscription_level = previous_subscription_level + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def new_subscription_level(self): + """ + New subscription level. + + :rtype: PaperTaggedValue + """ + if self._new_subscription_level_present: + return self._new_subscription_level_value + else: + raise AttributeError("missing required field 'new_subscription_level'") + + @new_subscription_level.setter + def new_subscription_level(self, val): + self._new_subscription_level_validator.validate_type_only(val) + self._new_subscription_level_value = val + self._new_subscription_level_present = True + + @new_subscription_level.deleter + def new_subscription_level(self): + self._new_subscription_level_value = None + self._new_subscription_level_present = False + + @property + def previous_subscription_level(self): + """ + Previous subscription level. Might be missing due to historical data + gap. + + :rtype: PaperTaggedValue + """ + if self._previous_subscription_level_present: + return self._previous_subscription_level_value + else: + return None + + @previous_subscription_level.setter + def previous_subscription_level(self, val): + if val is None: + del self.previous_subscription_level + return + self._previous_subscription_level_validator.validate_type_only(val) + self._previous_subscription_level_value = val + self._previous_subscription_level_present = True + + @previous_subscription_level.deleter + def previous_subscription_level(self): + self._previous_subscription_level_value = None + self._previous_subscription_level_present = False + + def __repr__(self): + return 'PaperContentChangeSubscriptionDetails(event_uuid={!r}, new_subscription_level={!r}, previous_subscription_level={!r})'.format( + self._event_uuid_value, + self._new_subscription_level_value, + self._previous_subscription_level_value, + ) + +PaperContentChangeSubscriptionDetails_validator = bv.Struct(PaperContentChangeSubscriptionDetails) + +class PaperContentCreateDetails(object): + """ + Created a Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentCreateDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentCreateDetails_validator = bv.Struct(PaperContentCreateDetails) + +class PaperContentPermanentlyDeleteDetails(object): + """ + Permanently deleted a Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentPermanentlyDeleteDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentPermanentlyDeleteDetails_validator = bv.Struct(PaperContentPermanentlyDeleteDetails) + +class PaperContentRemoveFromFolderDetails(object): + """ + Removed Paper doc or folder from a folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentRemoveFromFolderDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentRemoveFromFolderDetails_validator = bv.Struct(PaperContentRemoveFromFolderDetails) + +class PaperContentRemoveMemberDetails(object): + """ + Removed a user from the membership of a Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentRemoveMemberDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentRemoveMemberDetails_validator = bv.Struct(PaperContentRemoveMemberDetails) + +class PaperContentRenameDetails(object): + """ + Renamed Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentRenameDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentRenameDetails_validator = bv.Struct(PaperContentRenameDetails) + +class PaperContentRestoreDetails(object): + """ + Restored an archived Paper doc or folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperContentRestoreDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperContentRestoreDetails_validator = bv.Struct(PaperContentRestoreDetails) + +class PaperDeploymentPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + partial = None + # Attribute is overwritten below the class definition + full = None + # Attribute is overwritten below the class definition + other = None + + def is_partial(self): + """ + Check if the union tag is ``partial``. + + :rtype: bool + """ + return self._tag == 'partial' + + def is_full(self): + """ + Check if the union tag is ``full``. + + :rtype: bool + """ + return self._tag == 'full' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'PaperDeploymentPolicy(%r, %r)' % (self._tag, self._value) + +PaperDeploymentPolicy_validator = bv.Union(PaperDeploymentPolicy) + +class PaperDocAddCommentDetails(object): + """ + Added a Paper doc comment. + + :ivar event_uuid: Event unique identifier. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + comment_text=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._comment_text_value = None + self._comment_text_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if comment_text is not None: + self.comment_text = comment_text + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'PaperDocAddCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +PaperDocAddCommentDetails_validator = bv.Struct(PaperDocAddCommentDetails) + +class PaperDocChangeMemberRoleDetails(object): + """ + Changed the access type of a Paper doc member. + + :ivar event_uuid: Event unique identifier. + :ivar access_type: Paper doc access type. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_access_type_value', + '_access_type_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + access_type=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._access_type_value = None + self._access_type_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if access_type is not None: + self.access_type = access_type + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def access_type(self): + """ + Paper doc access type. + + :rtype: PaperAccessType + """ + if self._access_type_present: + return self._access_type_value + else: + raise AttributeError("missing required field 'access_type'") + + @access_type.setter + def access_type(self, val): + self._access_type_validator.validate_type_only(val) + self._access_type_value = val + self._access_type_present = True + + @access_type.deleter + def access_type(self): + self._access_type_value = None + self._access_type_present = False + + def __repr__(self): + return 'PaperDocChangeMemberRoleDetails(event_uuid={!r}, access_type={!r})'.format( + self._event_uuid_value, + self._access_type_value, + ) + +PaperDocChangeMemberRoleDetails_validator = bv.Struct(PaperDocChangeMemberRoleDetails) + +class PaperDocChangeSharingPolicyDetails(object): + """ + Changed the sharing policy for Paper doc. + + :ivar event_uuid: Event unique identifier. + :ivar public_sharing_policy: Sharing policy with external users. Might be + missing due to historical data gap. + :ivar team_sharing_policy: Sharing policy with team. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_public_sharing_policy_value', + '_public_sharing_policy_present', + '_team_sharing_policy_value', + '_team_sharing_policy_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + public_sharing_policy=None, + team_sharing_policy=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._public_sharing_policy_value = None + self._public_sharing_policy_present = False + self._team_sharing_policy_value = None + self._team_sharing_policy_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if public_sharing_policy is not None: + self.public_sharing_policy = public_sharing_policy + if team_sharing_policy is not None: + self.team_sharing_policy = team_sharing_policy + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def public_sharing_policy(self): + """ + Sharing policy with external users. Might be missing due to historical + data gap. + + :rtype: str + """ + if self._public_sharing_policy_present: + return self._public_sharing_policy_value + else: + return None + + @public_sharing_policy.setter + def public_sharing_policy(self, val): + if val is None: + del self.public_sharing_policy + return + val = self._public_sharing_policy_validator.validate(val) + self._public_sharing_policy_value = val + self._public_sharing_policy_present = True + + @public_sharing_policy.deleter + def public_sharing_policy(self): + self._public_sharing_policy_value = None + self._public_sharing_policy_present = False + + @property + def team_sharing_policy(self): + """ + Sharing policy with team. Might be missing due to historical data gap. + + :rtype: str + """ + if self._team_sharing_policy_present: + return self._team_sharing_policy_value + else: + return None + + @team_sharing_policy.setter + def team_sharing_policy(self, val): + if val is None: + del self.team_sharing_policy + return + val = self._team_sharing_policy_validator.validate(val) + self._team_sharing_policy_value = val + self._team_sharing_policy_present = True + + @team_sharing_policy.deleter + def team_sharing_policy(self): + self._team_sharing_policy_value = None + self._team_sharing_policy_present = False + + def __repr__(self): + return 'PaperDocChangeSharingPolicyDetails(event_uuid={!r}, public_sharing_policy={!r}, team_sharing_policy={!r})'.format( + self._event_uuid_value, + self._public_sharing_policy_value, + self._team_sharing_policy_value, + ) + +PaperDocChangeSharingPolicyDetails_validator = bv.Struct(PaperDocChangeSharingPolicyDetails) + +class PaperDocDeleteCommentDetails(object): + """ + Deleted a Paper doc comment. + + :ivar event_uuid: Event unique identifier. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + comment_text=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._comment_text_value = None + self._comment_text_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if comment_text is not None: + self.comment_text = comment_text + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'PaperDocDeleteCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +PaperDocDeleteCommentDetails_validator = bv.Struct(PaperDocDeleteCommentDetails) + +class PaperDocDeletedDetails(object): + """ + Paper doc archived. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocDeletedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocDeletedDetails_validator = bv.Struct(PaperDocDeletedDetails) + +class PaperDocDownloadDetails(object): + """ + Downloaded a Paper doc in a particular output format. + + :ivar event_uuid: Event unique identifier. + :ivar export_file_format: Export file format. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_export_file_format_value', + '_export_file_format_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + export_file_format=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._export_file_format_value = None + self._export_file_format_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if export_file_format is not None: + self.export_file_format = export_file_format + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def export_file_format(self): + """ + Export file format. + + :rtype: PaperDownloadFormat + """ + if self._export_file_format_present: + return self._export_file_format_value + else: + raise AttributeError("missing required field 'export_file_format'") + + @export_file_format.setter + def export_file_format(self, val): + self._export_file_format_validator.validate_type_only(val) + self._export_file_format_value = val + self._export_file_format_present = True + + @export_file_format.deleter + def export_file_format(self): + self._export_file_format_value = None + self._export_file_format_present = False + + def __repr__(self): + return 'PaperDocDownloadDetails(event_uuid={!r}, export_file_format={!r})'.format( + self._event_uuid_value, + self._export_file_format_value, + ) + +PaperDocDownloadDetails_validator = bv.Struct(PaperDocDownloadDetails) + +class PaperDocEditCommentDetails(object): + """ + Edited a Paper doc comment. + + :ivar event_uuid: Event unique identifier. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + comment_text=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._comment_text_value = None + self._comment_text_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if comment_text is not None: + self.comment_text = comment_text + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'PaperDocEditCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +PaperDocEditCommentDetails_validator = bv.Struct(PaperDocEditCommentDetails) + +class PaperDocEditDetails(object): + """ + Edited a Paper doc. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocEditDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocEditDetails_validator = bv.Struct(PaperDocEditDetails) + +class PaperDocFollowedDetails(object): + """ + Followed a Paper doc. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocFollowedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocFollowedDetails_validator = bv.Struct(PaperDocFollowedDetails) + +class PaperDocMentionDetails(object): + """ + Mentioned a member in a Paper doc. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocMentionDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocMentionDetails_validator = bv.Struct(PaperDocMentionDetails) + +class PaperDocRequestAccessDetails(object): + """ + Requested to be a member on a Paper doc. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocRequestAccessDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocRequestAccessDetails_validator = bv.Struct(PaperDocRequestAccessDetails) + +class PaperDocResolveCommentDetails(object): + """ + Paper doc comment resolved. + + :ivar event_uuid: Event unique identifier. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + comment_text=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._comment_text_value = None + self._comment_text_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if comment_text is not None: + self.comment_text = comment_text + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'PaperDocResolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +PaperDocResolveCommentDetails_validator = bv.Struct(PaperDocResolveCommentDetails) + +class PaperDocRevertDetails(object): + """ + Restored a Paper doc to previous revision. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocRevertDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocRevertDetails_validator = bv.Struct(PaperDocRevertDetails) + +class PaperDocSlackShareDetails(object): + """ + Paper doc link shared via slack. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocSlackShareDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocSlackShareDetails_validator = bv.Struct(PaperDocSlackShareDetails) + +class PaperDocTeamInviteDetails(object): + """ + Paper doc shared with team member. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocTeamInviteDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocTeamInviteDetails_validator = bv.Struct(PaperDocTeamInviteDetails) + +class PaperDocUnresolveCommentDetails(object): + """ + Unresolved a Paper doc comment. + + :ivar event_uuid: Event unique identifier. + :ivar comment_text: Comment text. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + comment_text=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._comment_text_value = None + self._comment_text_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if comment_text is not None: + self.comment_text = comment_text + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + @property + def comment_text(self): + """ + Comment text. Might be missing due to historical data gap. + + :rtype: str + """ + if self._comment_text_present: + return self._comment_text_value + else: + return None + + @comment_text.setter + def comment_text(self, val): + if val is None: + del self.comment_text + return + val = self._comment_text_validator.validate(val) + self._comment_text_value = val + self._comment_text_present = True + + @comment_text.deleter + def comment_text(self): + self._comment_text_value = None + self._comment_text_present = False + + def __repr__(self): + return 'PaperDocUnresolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +PaperDocUnresolveCommentDetails_validator = bv.Struct(PaperDocUnresolveCommentDetails) + +class PaperDocViewDetails(object): + """ + Viewed Paper doc. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperDocViewDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperDocViewDetails_validator = bv.Struct(PaperDocViewDetails) + +class PaperDocumentLogInfo(object): + """ + Paper document's logged information. + + :ivar doc_id: Papers document Id. + :ivar doc_title: Paper document title. + """ + + __slots__ = [ + '_doc_id_value', + '_doc_id_present', + '_doc_title_value', + '_doc_title_present', + ] + + _has_required_fields = True + + def __init__(self, + doc_id=None, + doc_title=None): + self._doc_id_value = None + self._doc_id_present = False + self._doc_title_value = None + self._doc_title_present = False + if doc_id is not None: + self.doc_id = doc_id + if doc_title is not None: + self.doc_title = doc_title + + @property + def doc_id(self): + """ + Papers document Id. + + :rtype: str + """ + if self._doc_id_present: + return self._doc_id_value + else: + raise AttributeError("missing required field 'doc_id'") + + @doc_id.setter + def doc_id(self, val): + val = self._doc_id_validator.validate(val) + self._doc_id_value = val + self._doc_id_present = True + + @doc_id.deleter + def doc_id(self): + self._doc_id_value = None + self._doc_id_present = False + + @property + def doc_title(self): + """ + Paper document title. + + :rtype: str + """ + if self._doc_title_present: + return self._doc_title_value + else: + raise AttributeError("missing required field 'doc_title'") + + @doc_title.setter + def doc_title(self, val): + val = self._doc_title_validator.validate(val) + self._doc_title_value = val + self._doc_title_present = True + + @doc_title.deleter + def doc_title(self): + self._doc_title_value = None + self._doc_title_present = False + + def __repr__(self): + return 'PaperDocumentLogInfo(doc_id={!r}, doc_title={!r})'.format( + self._doc_id_value, + self._doc_title_value, + ) + +PaperDocumentLogInfo_validator = bv.Struct(PaperDocumentLogInfo) + +class PaperDownloadFormat(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + docx = None + # Attribute is overwritten below the class definition + html = None + # Attribute is overwritten below the class definition + markdown = None + # Attribute is overwritten below the class definition + other = None + + def is_docx(self): + """ + Check if the union tag is ``docx``. + + :rtype: bool + """ + return self._tag == 'docx' + + def is_html(self): + """ + Check if the union tag is ``html``. + + :rtype: bool + """ + return self._tag == 'html' + + def is_markdown(self): + """ + Check if the union tag is ``markdown``. + + :rtype: bool + """ + return self._tag == 'markdown' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'PaperDownloadFormat(%r, %r)' % (self._tag, self._value) + +PaperDownloadFormat_validator = bv.Union(PaperDownloadFormat) + +class PaperEnabledUsersGroupAdditionDetails(object): + """ + Users added to Paper enabled users list. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PaperEnabledUsersGroupAdditionDetails()' + +PaperEnabledUsersGroupAdditionDetails_validator = bv.Struct(PaperEnabledUsersGroupAdditionDetails) + +class PaperEnabledUsersGroupRemovalDetails(object): + """ + Users removed from Paper enabled users list. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PaperEnabledUsersGroupRemovalDetails()' + +PaperEnabledUsersGroupRemovalDetails_validator = bv.Struct(PaperEnabledUsersGroupRemovalDetails) + +class PaperExternalViewAllowDetails(object): + """ + Paper external sharing policy changed: anyone. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PaperExternalViewAllowDetails()' + +PaperExternalViewAllowDetails_validator = bv.Struct(PaperExternalViewAllowDetails) + +class PaperExternalViewDefaultTeamDetails(object): + """ + Paper external sharing policy changed: default team. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PaperExternalViewDefaultTeamDetails()' + +PaperExternalViewDefaultTeamDetails_validator = bv.Struct(PaperExternalViewDefaultTeamDetails) + +class PaperExternalViewForbidDetails(object): + """ + Paper external sharing policy changed: team-only. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PaperExternalViewForbidDetails()' + +PaperExternalViewForbidDetails_validator = bv.Struct(PaperExternalViewForbidDetails) + +class PaperFolderDeletedDetails(object): + """ + Paper folder archived. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperFolderDeletedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperFolderDeletedDetails_validator = bv.Struct(PaperFolderDeletedDetails) + +class PaperFolderFollowedDetails(object): + """ + Followed a Paper folder. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperFolderFollowedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperFolderFollowedDetails_validator = bv.Struct(PaperFolderFollowedDetails) + +class PaperFolderLogInfo(object): + """ + Paper folder's logged information. + + :ivar folder_id: Papers folder Id. + :ivar folder_name: Paper folder name. + """ + + __slots__ = [ + '_folder_id_value', + '_folder_id_present', + '_folder_name_value', + '_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + folder_id=None, + folder_name=None): + self._folder_id_value = None + self._folder_id_present = False + self._folder_name_value = None + self._folder_name_present = False + if folder_id is not None: + self.folder_id = folder_id + if folder_name is not None: + self.folder_name = folder_name + + @property + def folder_id(self): + """ + Papers folder Id. + + :rtype: str + """ + if self._folder_id_present: + return self._folder_id_value + else: + raise AttributeError("missing required field 'folder_id'") + + @folder_id.setter + def folder_id(self, val): + val = self._folder_id_validator.validate(val) + self._folder_id_value = val + self._folder_id_present = True + + @folder_id.deleter + def folder_id(self): + self._folder_id_value = None + self._folder_id_present = False + + @property + def folder_name(self): + """ + Paper folder name. + + :rtype: str + """ + if self._folder_name_present: + return self._folder_name_value + else: + raise AttributeError("missing required field 'folder_name'") + + @folder_name.setter + def folder_name(self, val): + val = self._folder_name_validator.validate(val) + self._folder_name_value = val + self._folder_name_present = True + + @folder_name.deleter + def folder_name(self): + self._folder_name_value = None + self._folder_name_present = False + + def __repr__(self): + return 'PaperFolderLogInfo(folder_id={!r}, folder_name={!r})'.format( + self._folder_id_value, + self._folder_name_value, + ) + +PaperFolderLogInfo_validator = bv.Struct(PaperFolderLogInfo) + +class PaperFolderTeamInviteDetails(object): + """ + Paper folder shared with team member. + + :ivar event_uuid: Event unique identifier. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None): + self._event_uuid_value = None + self._event_uuid_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + + @property + def event_uuid(self): + """ + Event unique identifier. + + :rtype: str + """ + if self._event_uuid_present: + return self._event_uuid_value + else: + raise AttributeError("missing required field 'event_uuid'") + + @event_uuid.setter + def event_uuid(self, val): + val = self._event_uuid_validator.validate(val) + self._event_uuid_value = val + self._event_uuid_present = True + + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_present = False + + def __repr__(self): + return 'PaperFolderTeamInviteDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperFolderTeamInviteDetails_validator = bv.Struct(PaperFolderTeamInviteDetails) + +class PaperTaggedValue(object): + """ + Paper tagged value. + + :ivar tag: Tag. + """ + + __slots__ = [ + '_tag_value', + '_tag_present', + ] + + _has_required_fields = True + + def __init__(self, + tag=None): + self._tag_value = None + self._tag_present = False + if tag is not None: + self.tag = tag + + @property + def tag(self): + """ + Tag. + + :rtype: str + """ + if self._tag_present: + return self._tag_value + else: + raise AttributeError("missing required field 'tag'") + + @tag.setter + def tag(self, val): + val = self._tag_validator.validate(val) + self._tag_value = val + self._tag_present = True + + @tag.deleter + def tag(self): + self._tag_value = None + self._tag_present = False + + def __repr__(self): + return 'PaperTaggedValue(tag={!r})'.format( + self._tag_value, + ) + +PaperTaggedValue_validator = bv.Struct(PaperTaggedValue) + +class ParticipantLogInfo(bb.Union): + """ + A user or group + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar UserLogInfo user: User details. + :ivar GroupLogInfo group: Group details. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def user(cls, val): + """ + Create an instance of this class set to the ``user`` tag with value + ``val``. + + :param UserLogInfo val: + :rtype: ParticipantLogInfo + """ + return cls('user', val) + + @classmethod + def group(cls, val): + """ + Create an instance of this class set to the ``group`` tag with value + ``val``. + + :param GroupLogInfo val: + :rtype: ParticipantLogInfo + """ + return cls('group', val) + + def is_user(self): + """ + Check if the union tag is ``user``. + + :rtype: bool + """ + return self._tag == 'user' + + def is_group(self): + """ + Check if the union tag is ``group``. + + :rtype: bool + """ + return self._tag == 'group' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_user(self): + """ + User details. + + Only call this if :meth:`is_user` is true. + + :rtype: UserLogInfo + """ + if not self.is_user(): + raise AttributeError("tag 'user' not set") + return self._value + + def get_group(self): + """ + Group details. + + Only call this if :meth:`is_group` is true. + + :rtype: GroupLogInfo + """ + if not self.is_group(): + raise AttributeError("tag 'group' not set") + return self._value + + def __repr__(self): + return 'ParticipantLogInfo(%r, %r)' % (self._tag, self._value) + +ParticipantLogInfo_validator = bv.Union(ParticipantLogInfo) + +class PasswordChangeDetails(object): + """ + Changed password. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PasswordChangeDetails()' + +PasswordChangeDetails_validator = bv.Struct(PasswordChangeDetails) + +class PasswordLoginFailDetails(object): + """ + Failed to sign in using a password. + + :ivar failure_reason: Login failure reason. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_failure_reason_value', + '_failure_reason_present', + ] + + _has_required_fields = False + + def __init__(self, + failure_reason=None): + self._failure_reason_value = None + self._failure_reason_present = False + if failure_reason is not None: + self.failure_reason = failure_reason + + @property + def failure_reason(self): + """ + Login failure reason. Might be missing due to historical data gap. + + :rtype: str + """ + if self._failure_reason_present: + return self._failure_reason_value + else: + return None + + @failure_reason.setter + def failure_reason(self, val): + if val is None: + del self.failure_reason + return + val = self._failure_reason_validator.validate(val) + self._failure_reason_value = val + self._failure_reason_present = True + + @failure_reason.deleter + def failure_reason(self): + self._failure_reason_value = None + self._failure_reason_present = False + + def __repr__(self): + return 'PasswordLoginFailDetails(failure_reason={!r})'.format( + self._failure_reason_value, + ) + +PasswordLoginFailDetails_validator = bv.Struct(PasswordLoginFailDetails) + +class PasswordLoginSuccessDetails(object): + """ + Signed in using a password. + + :ivar is_emm_managed: Tells if the user signed in from an EMM managed + device. + """ + + __slots__ = [ + '_is_emm_managed_value', + '_is_emm_managed_present', + ] + + _has_required_fields = True + + def __init__(self, + is_emm_managed=None): + self._is_emm_managed_value = None + self._is_emm_managed_present = False + if is_emm_managed is not None: + self.is_emm_managed = is_emm_managed + + @property + def is_emm_managed(self): + """ + Tells if the user signed in from an EMM managed device. + + :rtype: bool + """ + if self._is_emm_managed_present: + return self._is_emm_managed_value + else: + raise AttributeError("missing required field 'is_emm_managed'") + + @is_emm_managed.setter + def is_emm_managed(self, val): + val = self._is_emm_managed_validator.validate(val) + self._is_emm_managed_value = val + self._is_emm_managed_present = True + + @is_emm_managed.deleter + def is_emm_managed(self): + self._is_emm_managed_value = None + self._is_emm_managed_present = False + + def __repr__(self): + return 'PasswordLoginSuccessDetails(is_emm_managed={!r})'.format( + self._is_emm_managed_value, + ) + +PasswordLoginSuccessDetails_validator = bv.Struct(PasswordLoginSuccessDetails) + +class PasswordResetAllDetails(object): + """ + Reset all team member passwords. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PasswordResetAllDetails()' + +PasswordResetAllDetails_validator = bv.Struct(PasswordResetAllDetails) + +class PasswordResetDetails(object): + """ + Reset password. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'PasswordResetDetails()' + +PasswordResetDetails_validator = bv.Struct(PasswordResetDetails) + +class PathLogInfo(object): + """ + Path's details. + + :ivar contextual: Fully qualified path relative to event's context. Might be + missing due to historical data gap. + :ivar namespace_relative: Path relative to the namespace containing the + content. + """ + + __slots__ = [ + '_contextual_value', + '_contextual_present', + '_namespace_relative_value', + '_namespace_relative_present', + ] + + _has_required_fields = True + + def __init__(self, + namespace_relative=None, + contextual=None): + self._contextual_value = None + self._contextual_present = False + self._namespace_relative_value = None + self._namespace_relative_present = False + if contextual is not None: + self.contextual = contextual + if namespace_relative is not None: + self.namespace_relative = namespace_relative + + @property + def contextual(self): + """ + Fully qualified path relative to event's context. Might be missing due + to historical data gap. + + :rtype: str + """ + if self._contextual_present: + return self._contextual_value + else: + return None + + @contextual.setter + def contextual(self, val): + if val is None: + del self.contextual + return + val = self._contextual_validator.validate(val) + self._contextual_value = val + self._contextual_present = True + + @contextual.deleter + def contextual(self): + self._contextual_value = None + self._contextual_present = False + + @property + def namespace_relative(self): + """ + Path relative to the namespace containing the content. + + :rtype: NamespaceRelativePathLogInfo + """ + if self._namespace_relative_present: + return self._namespace_relative_value + else: + raise AttributeError("missing required field 'namespace_relative'") + + @namespace_relative.setter + def namespace_relative(self, val): + self._namespace_relative_validator.validate_type_only(val) + self._namespace_relative_value = val + self._namespace_relative_present = True + + @namespace_relative.deleter + def namespace_relative(self): + self._namespace_relative_value = None + self._namespace_relative_present = False + + def __repr__(self): + return 'PathLogInfo(namespace_relative={!r}, contextual={!r})'.format( + self._namespace_relative_value, + self._contextual_value, + ) + +PathLogInfo_validator = bv.Struct(PathLogInfo) + +class PermanentDeleteChangePolicyDetails(object): + """ + Enabled or disabled the ability of team members to permanently delete + content. + + :ivar new_value: New permanent delete content policy. + :ivar previous_value: Previous permanent delete content policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New permanent delete content policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous permanent delete content policy. Might be missing due to + historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'PermanentDeleteChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PermanentDeleteChangePolicyDetails_validator = bv.Struct(PermanentDeleteChangePolicyDetails) + +class PlacementRestriction(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + europe_only = None + # Attribute is overwritten below the class definition + none = None + # Attribute is overwritten below the class definition + other = None + + def is_europe_only(self): + """ + Check if the union tag is ``europe_only``. + + :rtype: bool + """ + return self._tag == 'europe_only' + + def is_none(self): + """ + Check if the union tag is ``none``. + + :rtype: bool + """ + return self._tag == 'none' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'PlacementRestriction(%r, %r)' % (self._tag, self._value) + +PlacementRestriction_validator = bv.Union(PlacementRestriction) + +class RemoveLogoutUrlDetails(object): + """ + Removed single sign-on logout URL. + + :ivar previous_sso_logout_url: Previous single sign-on logout URL. + :ivar new_sso_logout_url: New single sign-on logout URL. Might be missing + due to historical data gap. + """ + + __slots__ = [ + '_previous_sso_logout_url_value', + '_previous_sso_logout_url_present', + '_new_sso_logout_url_value', + '_new_sso_logout_url_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_sso_logout_url=None, + new_sso_logout_url=None): + self._previous_sso_logout_url_value = None + self._previous_sso_logout_url_present = False + self._new_sso_logout_url_value = None + self._new_sso_logout_url_present = False + if previous_sso_logout_url is not None: + self.previous_sso_logout_url = previous_sso_logout_url + if new_sso_logout_url is not None: + self.new_sso_logout_url = new_sso_logout_url + + @property + def previous_sso_logout_url(self): + """ + Previous single sign-on logout URL. + + :rtype: str + """ + if self._previous_sso_logout_url_present: + return self._previous_sso_logout_url_value + else: + raise AttributeError("missing required field 'previous_sso_logout_url'") + + @previous_sso_logout_url.setter + def previous_sso_logout_url(self, val): + val = self._previous_sso_logout_url_validator.validate(val) + self._previous_sso_logout_url_value = val + self._previous_sso_logout_url_present = True + + @previous_sso_logout_url.deleter + def previous_sso_logout_url(self): + self._previous_sso_logout_url_value = None + self._previous_sso_logout_url_present = False + + @property + def new_sso_logout_url(self): + """ + New single sign-on logout URL. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._new_sso_logout_url_present: + return self._new_sso_logout_url_value + else: + return None + + @new_sso_logout_url.setter + def new_sso_logout_url(self, val): + if val is None: + del self.new_sso_logout_url + return + val = self._new_sso_logout_url_validator.validate(val) + self._new_sso_logout_url_value = val + self._new_sso_logout_url_present = True + + @new_sso_logout_url.deleter + def new_sso_logout_url(self): + self._new_sso_logout_url_value = None + self._new_sso_logout_url_present = False + + def __repr__(self): + return 'RemoveLogoutUrlDetails(previous_sso_logout_url={!r}, new_sso_logout_url={!r})'.format( + self._previous_sso_logout_url_value, + self._new_sso_logout_url_value, + ) + +RemoveLogoutUrlDetails_validator = bv.Struct(RemoveLogoutUrlDetails) + +class RemoveSsoUrlDetails(object): + """ + Changed the sign-out URL for SSO. + + :ivar previous_sso_url: Previous SSO Url. + """ + + __slots__ = [ + '_previous_sso_url_value', + '_previous_sso_url_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_sso_url=None): + self._previous_sso_url_value = None + self._previous_sso_url_present = False + if previous_sso_url is not None: + self.previous_sso_url = previous_sso_url + + @property + def previous_sso_url(self): + """ + Previous SSO Url. + + :rtype: str + """ + if self._previous_sso_url_present: + return self._previous_sso_url_value + else: + raise AttributeError("missing required field 'previous_sso_url'") + + @previous_sso_url.setter + def previous_sso_url(self, val): + val = self._previous_sso_url_validator.validate(val) + self._previous_sso_url_value = val + self._previous_sso_url_present = True + + @previous_sso_url.deleter + def previous_sso_url(self): + self._previous_sso_url_value = None + self._previous_sso_url_present = False + + def __repr__(self): + return 'RemoveSsoUrlDetails(previous_sso_url={!r})'.format( + self._previous_sso_url_value, + ) + +RemoveSsoUrlDetails_validator = bv.Struct(RemoveSsoUrlDetails) + +class ResellerLogInfo(object): + """ + Reseller information. + + :ivar reseller_name: Reseller name. + :ivar reseller_id: Reseller ID. + """ + + __slots__ = [ + '_reseller_name_value', + '_reseller_name_present', + '_reseller_id_value', + '_reseller_id_present', + ] + + _has_required_fields = True + + def __init__(self, + reseller_name=None, + reseller_id=None): + self._reseller_name_value = None + self._reseller_name_present = False + self._reseller_id_value = None + self._reseller_id_present = False + if reseller_name is not None: + self.reseller_name = reseller_name + if reseller_id is not None: + self.reseller_id = reseller_id + + @property + def reseller_name(self): + """ + Reseller name. + + :rtype: str + """ + if self._reseller_name_present: + return self._reseller_name_value + else: + raise AttributeError("missing required field 'reseller_name'") + + @reseller_name.setter + def reseller_name(self, val): + val = self._reseller_name_validator.validate(val) + self._reseller_name_value = val + self._reseller_name_present = True + + @reseller_name.deleter + def reseller_name(self): + self._reseller_name_value = None + self._reseller_name_present = False + + @property + def reseller_id(self): + """ + Reseller ID. + + :rtype: str + """ + if self._reseller_id_present: + return self._reseller_id_value + else: + raise AttributeError("missing required field 'reseller_id'") + + @reseller_id.setter + def reseller_id(self, val): + val = self._reseller_id_validator.validate(val) + self._reseller_id_value = val + self._reseller_id_present = True + + @reseller_id.deleter + def reseller_id(self): + self._reseller_id_value = None + self._reseller_id_present = False + + def __repr__(self): + return 'ResellerLogInfo(reseller_name={!r}, reseller_id={!r})'.format( + self._reseller_name_value, + self._reseller_id_value, + ) + +ResellerLogInfo_validator = bv.Struct(ResellerLogInfo) + +class ResellerSupportSessionEndDetails(object): + """ + Ended reseller support session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ResellerSupportSessionEndDetails()' + +ResellerSupportSessionEndDetails_validator = bv.Struct(ResellerSupportSessionEndDetails) + +class ResellerSupportSessionStartDetails(object): + """ + Started reseller support session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ResellerSupportSessionStartDetails()' + +ResellerSupportSessionStartDetails_validator = bv.Struct(ResellerSupportSessionStartDetails) + +class SessionsManagementIdleLengthPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + none = None + # Attribute is overwritten below the class definition + minute_10 = None + # Attribute is overwritten below the class definition + minute_30 = None + # Attribute is overwritten below the class definition + hour_1 = None + # Attribute is overwritten below the class definition + hour_8 = None + # Attribute is overwritten below the class definition + hour_24 = None + # Attribute is overwritten below the class definition + hour_48 = None + # Attribute is overwritten below the class definition + other = None + + def is_none(self): + """ + Check if the union tag is ``none``. + + :rtype: bool + """ + return self._tag == 'none' + + def is_minute_10(self): + """ + Check if the union tag is ``minute_10``. + + :rtype: bool + """ + return self._tag == 'minute_10' + + def is_minute_30(self): + """ + Check if the union tag is ``minute_30``. + + :rtype: bool + """ + return self._tag == 'minute_30' + + def is_hour_1(self): + """ + Check if the union tag is ``hour_1``. + + :rtype: bool + """ + return self._tag == 'hour_1' + + def is_hour_8(self): + """ + Check if the union tag is ``hour_8``. + + :rtype: bool + """ + return self._tag == 'hour_8' + + def is_hour_24(self): + """ + Check if the union tag is ``hour_24``. + + :rtype: bool + """ + return self._tag == 'hour_24' + + def is_hour_48(self): + """ + Check if the union tag is ``hour_48``. + + :rtype: bool + """ + return self._tag == 'hour_48' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SessionsManagementIdleLengthPolicy(%r, %r)' % (self._tag, self._value) + +SessionsManagementIdleLengthPolicy_validator = bv.Union(SessionsManagementIdleLengthPolicy) + +class SessionsManagementSessionLengthPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + day_1 = None + # Attribute is overwritten below the class definition + day_7 = None + # Attribute is overwritten below the class definition + day_14 = None + # Attribute is overwritten below the class definition + month_1 = None + # Attribute is overwritten below the class definition + month_3 = None + # Attribute is overwritten below the class definition + month_6 = None + # Attribute is overwritten below the class definition + year_1 = None + # Attribute is overwritten below the class definition + other = None + + def is_day_1(self): + """ + Check if the union tag is ``day_1``. + + :rtype: bool + """ + return self._tag == 'day_1' + + def is_day_7(self): + """ + Check if the union tag is ``day_7``. + + :rtype: bool + """ + return self._tag == 'day_7' + + def is_day_14(self): + """ + Check if the union tag is ``day_14``. + + :rtype: bool + """ + return self._tag == 'day_14' + + def is_month_1(self): + """ + Check if the union tag is ``month_1``. + + :rtype: bool + """ + return self._tag == 'month_1' + + def is_month_3(self): + """ + Check if the union tag is ``month_3``. + + :rtype: bool + """ + return self._tag == 'month_3' + + def is_month_6(self): + """ + Check if the union tag is ``month_6``. + + :rtype: bool + """ + return self._tag == 'month_6' + + def is_year_1(self): + """ + Check if the union tag is ``year_1``. + + :rtype: bool + """ + return self._tag == 'year_1' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SessionsManagementSessionLengthPolicy(%r, %r)' % (self._tag, self._value) + +SessionsManagementSessionLengthPolicy_validator = bv.Union(SessionsManagementSessionLengthPolicy) + +class SfAddGroupDetails(object): + """ + Added the team to a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar team_name: Team name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_team_name_value', + '_team_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + team_name=None, + sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._team_name_value = None + self._team_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if team_name is not None: + self.team_name = team_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def team_name(self): + """ + Team name. + + :rtype: str + """ + if self._team_name_present: + return self._team_name_value + else: + raise AttributeError("missing required field 'team_name'") + + @team_name.setter + def team_name(self, val): + val = self._team_name_validator.validate(val) + self._team_name_value = val + self._team_name_present = True + + @team_name.deleter + def team_name(self): + self._team_name_value = None + self._team_name_present = False + + def __repr__(self): + return 'SfAddGroupDetails(target_index={!r}, original_folder_name={!r}, team_name={!r}, sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._team_name_value, + self._sharing_permission_value, + ) + +SfAddGroupDetails_validator = bv.Struct(SfAddGroupDetails) + +class SfAllowNonMembersToViewSharedLinksDetails(object): + """ + Allowed non collaborators to view links to files in a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SfAllowNonMembersToViewSharedLinksDetails(target_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SfAllowNonMembersToViewSharedLinksDetails_validator = bv.Struct(SfAllowNonMembersToViewSharedLinksDetails) + +class SfExternalInviteWarnDetails(object): + """ + Admin settings: team members see a warning before sharing folders outside + the team (DEPRECATED FEATURE). + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'SfExternalInviteWarnDetails()' + +SfExternalInviteWarnDetails_validator = bv.Struct(SfExternalInviteWarnDetails) + +class SfInviteGroupDetails(object): + """ + Invited a group to a shared folder. + + :ivar target_index: Target asset index. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None): + self._target_index_value = None + self._target_index_present = False + if target_index is not None: + self.target_index = target_index + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + def __repr__(self): + return 'SfInviteGroupDetails(target_index={!r})'.format( + self._target_index_value, + ) + +SfInviteGroupDetails_validator = bv.Struct(SfInviteGroupDetails) + +class SfNestDetails(object): + """ + Changed parent of shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar prev_parent_ns_id: Previous parent namespace ID. Might be missing due + to historical data gap. + :ivar new_parent_ns_id: New parent namespace ID. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_prev_parent_ns_id_value', + '_prev_parent_ns_id_present', + '_new_parent_ns_id_value', + '_new_parent_ns_id_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + prev_parent_ns_id=None, + new_parent_ns_id=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._prev_parent_ns_id_value = None + self._prev_parent_ns_id_present = False + self._new_parent_ns_id_value = None + self._new_parent_ns_id_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if prev_parent_ns_id is not None: + self.prev_parent_ns_id = prev_parent_ns_id + if new_parent_ns_id is not None: + self.new_parent_ns_id = new_parent_ns_id + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def prev_parent_ns_id(self): + """ + Previous parent namespace ID. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._prev_parent_ns_id_present: + return self._prev_parent_ns_id_value + else: + return None + + @prev_parent_ns_id.setter + def prev_parent_ns_id(self, val): + if val is None: + del self.prev_parent_ns_id + return + val = self._prev_parent_ns_id_validator.validate(val) + self._prev_parent_ns_id_value = val + self._prev_parent_ns_id_present = True + + @prev_parent_ns_id.deleter + def prev_parent_ns_id(self): + self._prev_parent_ns_id_value = None + self._prev_parent_ns_id_present = False + + @property + def new_parent_ns_id(self): + """ + New parent namespace ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._new_parent_ns_id_present: + return self._new_parent_ns_id_value + else: + return None + + @new_parent_ns_id.setter + def new_parent_ns_id(self, val): + if val is None: + del self.new_parent_ns_id + return + val = self._new_parent_ns_id_validator.validate(val) + self._new_parent_ns_id_value = val + self._new_parent_ns_id_present = True + + @new_parent_ns_id.deleter + def new_parent_ns_id(self): + self._new_parent_ns_id_value = None + self._new_parent_ns_id_present = False + + def __repr__(self): + return 'SfNestDetails(target_index={!r}, original_folder_name={!r}, prev_parent_ns_id={!r}, new_parent_ns_id={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._prev_parent_ns_id_value, + self._new_parent_ns_id_value, + ) + +SfNestDetails_validator = bv.Struct(SfNestDetails) + +class SfTeamDeclineDetails(object): + """ + Declined a team member's invitation to a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SfTeamDeclineDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SfTeamDeclineDetails_validator = bv.Struct(SfTeamDeclineDetails) + +class SfTeamGrantAccessDetails(object): + """ + Granted access to a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SfTeamGrantAccessDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SfTeamGrantAccessDetails_validator = bv.Struct(SfTeamGrantAccessDetails) + +class SfTeamInviteChangeRoleDetails(object): + """ + Changed a team member's role in a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar previous_sharing_permission: Previous sharing permission. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_previous_sharing_permission_value', + '_previous_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None, + previous_sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if previous_sharing_permission is not None: + self.previous_sharing_permission = previous_sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def previous_sharing_permission(self): + """ + Previous sharing permission. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._previous_sharing_permission_present: + return self._previous_sharing_permission_value + else: + return None + + @previous_sharing_permission.setter + def previous_sharing_permission(self, val): + if val is None: + del self.previous_sharing_permission + return + val = self._previous_sharing_permission_validator.validate(val) + self._previous_sharing_permission_value = val + self._previous_sharing_permission_present = True + + @previous_sharing_permission.deleter + def previous_sharing_permission(self): + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + + def __repr__(self): + return 'SfTeamInviteChangeRoleDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r}, previous_sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + self._previous_sharing_permission_value, + ) + +SfTeamInviteChangeRoleDetails_validator = bv.Struct(SfTeamInviteChangeRoleDetails) + +class SfTeamInviteDetails(object): + """ + Invited team members to a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + def __repr__(self): + return 'SfTeamInviteDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + ) + +SfTeamInviteDetails_validator = bv.Struct(SfTeamInviteDetails) + +class SfTeamJoinDetails(object): + """ + Joined a team member's shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SfTeamJoinDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SfTeamJoinDetails_validator = bv.Struct(SfTeamJoinDetails) + +class SfTeamJoinFromOobLinkDetails(object): + """ + Joined a team member's shared folder from a link. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar token_key: Shared link token key. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_token_key_value', + '_token_key_present', + '_sharing_permission_value', + '_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + token_key=None, + sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._token_key_value = None + self._token_key_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if token_key is not None: + self.token_key = token_key + if sharing_permission is not None: + self.sharing_permission = sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def token_key(self): + """ + Shared link token key. + + :rtype: str + """ + if self._token_key_present: + return self._token_key_value + else: + return None + + @token_key.setter + def token_key(self, val): + if val is None: + del self.token_key + return + val = self._token_key_validator.validate(val) + self._token_key_value = val + self._token_key_present = True + + @token_key.deleter + def token_key(self): + self._token_key_value = None + self._token_key_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + def __repr__(self): + return 'SfTeamJoinFromOobLinkDetails(target_index={!r}, original_folder_name={!r}, token_key={!r}, sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._token_key_value, + self._sharing_permission_value, + ) + +SfTeamJoinFromOobLinkDetails_validator = bv.Struct(SfTeamJoinFromOobLinkDetails) + +class SfTeamUninviteDetails(object): + """ + Unshared a folder with a team member. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SfTeamUninviteDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SfTeamUninviteDetails_validator = bv.Struct(SfTeamUninviteDetails) + +class SharedContentAddInviteesDetails(object): + """ + Sent an email invitation to the membership of a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + def __repr__(self): + return 'SharedContentAddInviteesDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + ) + +SharedContentAddInviteesDetails_validator = bv.Struct(SharedContentAddInviteesDetails) + +class SharedContentAddLinkExpiryDetails(object): + """ + Added an expiry to the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar expiration_start_date: Expiration starting date. + :ivar expiration_days: The number of days from the starting expiration date + after which the link will expire. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_expiration_start_date_value', + '_expiration_start_date_present', + '_expiration_days_value', + '_expiration_days_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + expiration_start_date=None, + expiration_days=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._expiration_start_date_value = None + self._expiration_start_date_present = False + self._expiration_days_value = None + self._expiration_days_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if expiration_start_date is not None: + self.expiration_start_date = expiration_start_date + if expiration_days is not None: + self.expiration_days = expiration_days + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def expiration_start_date(self): + """ + Expiration starting date. + + :rtype: str + """ + if self._expiration_start_date_present: + return self._expiration_start_date_value + else: + raise AttributeError("missing required field 'expiration_start_date'") + + @expiration_start_date.setter + def expiration_start_date(self, val): + val = self._expiration_start_date_validator.validate(val) + self._expiration_start_date_value = val + self._expiration_start_date_present = True + + @expiration_start_date.deleter + def expiration_start_date(self): + self._expiration_start_date_value = None + self._expiration_start_date_present = False + + @property + def expiration_days(self): + """ + The number of days from the starting expiration date after which the + link will expire. + + :rtype: long + """ + if self._expiration_days_present: + return self._expiration_days_value + else: + raise AttributeError("missing required field 'expiration_days'") + + @expiration_days.setter + def expiration_days(self, val): + val = self._expiration_days_validator.validate(val) + self._expiration_days_value = val + self._expiration_days_present = True + + @expiration_days.deleter + def expiration_days(self): + self._expiration_days_value = None + self._expiration_days_present = False + + def __repr__(self): + return 'SharedContentAddLinkExpiryDetails(target_index={!r}, expiration_start_date={!r}, expiration_days={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._expiration_start_date_value, + self._expiration_days_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentAddLinkExpiryDetails_validator = bv.Struct(SharedContentAddLinkExpiryDetails) + +class SharedContentAddLinkPasswordDetails(object): + """ + Added a password to the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentAddLinkPasswordDetails(target_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentAddLinkPasswordDetails_validator = bv.Struct(SharedContentAddLinkPasswordDetails) + +class SharedContentAddMemberDetails(object): + """ + Added users and/or groups to the membership of a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentAddMemberDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + self._shared_folder_type_value, + ) + +SharedContentAddMemberDetails_validator = bv.Struct(SharedContentAddMemberDetails) + +class SharedContentChangeDownloadsPolicyDetails(object): + """ + Changed whether members can download the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New downlaod policy. + :ivar previous_value: Previous downlaod policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + new_value=None, + original_folder_name=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New downlaod policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous downlaod policy. Might be missing due to historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedContentChangeDownloadsPolicyDetails(target_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._new_value_value, + self._original_folder_name_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedContentChangeDownloadsPolicyDetails_validator = bv.Struct(SharedContentChangeDownloadsPolicyDetails) + +class SharedContentChangeInviteeRoleDetails(object): + """ + Changed the access type of an invitee to a shared file or folder before the + invitation was claimed. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar previous_sharing_permission: Previous sharing permission. Might be + missing due to historical data gap. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_previous_sharing_permission_value', + '_previous_sharing_permission_present', + '_sharing_permission_value', + '_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + previous_sharing_permission=None, + sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if previous_sharing_permission is not None: + self.previous_sharing_permission = previous_sharing_permission + if sharing_permission is not None: + self.sharing_permission = sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def previous_sharing_permission(self): + """ + Previous sharing permission. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._previous_sharing_permission_present: + return self._previous_sharing_permission_value + else: + return None + + @previous_sharing_permission.setter + def previous_sharing_permission(self, val): + if val is None: + del self.previous_sharing_permission + return + val = self._previous_sharing_permission_validator.validate(val) + self._previous_sharing_permission_value = val + self._previous_sharing_permission_present = True + + @previous_sharing_permission.deleter + def previous_sharing_permission(self): + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + def __repr__(self): + return 'SharedContentChangeInviteeRoleDetails(target_index={!r}, original_folder_name={!r}, previous_sharing_permission={!r}, sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._previous_sharing_permission_value, + self._sharing_permission_value, + ) + +SharedContentChangeInviteeRoleDetails_validator = bv.Struct(SharedContentChangeInviteeRoleDetails) + +class SharedContentChangeLinkAudienceDetails(object): + """ + Changed the audience of the link for a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New link audience value. + :ivar previous_value: Previous link audience value. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + new_value=None, + original_folder_name=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New link audience value. + + :rtype: LinkAudience + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous link audience value. Might be missing due to historical data + gap. + + :rtype: LinkAudience + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedContentChangeLinkAudienceDetails(target_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._new_value_value, + self._original_folder_name_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedContentChangeLinkAudienceDetails_validator = bv.Struct(SharedContentChangeLinkAudienceDetails) + +class SharedContentChangeLinkExpiryDetails(object): + """ + Changed the expiry of the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar expiration_start_date: Expiration starting date. + :ivar expiration_days: The number of days from the starting expiration date + after which the link will expire. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_expiration_start_date_value', + '_expiration_start_date_present', + '_expiration_days_value', + '_expiration_days_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + expiration_start_date=None, + expiration_days=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._expiration_start_date_value = None + self._expiration_start_date_present = False + self._expiration_days_value = None + self._expiration_days_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if expiration_start_date is not None: + self.expiration_start_date = expiration_start_date + if expiration_days is not None: + self.expiration_days = expiration_days + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def expiration_start_date(self): + """ + Expiration starting date. + + :rtype: str + """ + if self._expiration_start_date_present: + return self._expiration_start_date_value + else: + raise AttributeError("missing required field 'expiration_start_date'") + + @expiration_start_date.setter + def expiration_start_date(self, val): + val = self._expiration_start_date_validator.validate(val) + self._expiration_start_date_value = val + self._expiration_start_date_present = True + + @expiration_start_date.deleter + def expiration_start_date(self): + self._expiration_start_date_value = None + self._expiration_start_date_present = False + + @property + def expiration_days(self): + """ + The number of days from the starting expiration date after which the + link will expire. + + :rtype: long + """ + if self._expiration_days_present: + return self._expiration_days_value + else: + raise AttributeError("missing required field 'expiration_days'") + + @expiration_days.setter + def expiration_days(self, val): + val = self._expiration_days_validator.validate(val) + self._expiration_days_value = val + self._expiration_days_present = True + + @expiration_days.deleter + def expiration_days(self): + self._expiration_days_value = None + self._expiration_days_present = False + + def __repr__(self): + return 'SharedContentChangeLinkExpiryDetails(target_index={!r}, expiration_start_date={!r}, expiration_days={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._expiration_start_date_value, + self._expiration_days_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentChangeLinkExpiryDetails_validator = bv.Struct(SharedContentChangeLinkExpiryDetails) + +class SharedContentChangeLinkPasswordDetails(object): + """ + Changed the password on the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentChangeLinkPasswordDetails(target_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentChangeLinkPasswordDetails_validator = bv.Struct(SharedContentChangeLinkPasswordDetails) + +class SharedContentChangeMemberRoleDetails(object): + """ + Changed the access type of a shared file or folder member. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar previous_sharing_permission: Previous sharing permission. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_previous_sharing_permission_value', + '_previous_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None, + shared_folder_type=None, + previous_sharing_permission=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if previous_sharing_permission is not None: + self.previous_sharing_permission = previous_sharing_permission + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def previous_sharing_permission(self): + """ + Previous sharing permission. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._previous_sharing_permission_present: + return self._previous_sharing_permission_value + else: + return None + + @previous_sharing_permission.setter + def previous_sharing_permission(self, val): + if val is None: + del self.previous_sharing_permission + return + val = self._previous_sharing_permission_validator.validate(val) + self._previous_sharing_permission_value = val + self._previous_sharing_permission_present = True + + @previous_sharing_permission.deleter + def previous_sharing_permission(self): + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + + def __repr__(self): + return 'SharedContentChangeMemberRoleDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r}, shared_folder_type={!r}, previous_sharing_permission={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + self._shared_folder_type_value, + self._previous_sharing_permission_value, + ) + +SharedContentChangeMemberRoleDetails_validator = bv.Struct(SharedContentChangeMemberRoleDetails) + +class SharedContentChangeViewerInfoPolicyDetails(object): + """ + Changed whether members can see who viewed the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New viewer info policy. + :ivar previous_value: Previous view info policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + new_value=None, + original_folder_name=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New viewer info policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous view info policy. Might be missing due to historical data gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedContentChangeViewerInfoPolicyDetails(target_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._new_value_value, + self._original_folder_name_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedContentChangeViewerInfoPolicyDetails_validator = bv.Struct(SharedContentChangeViewerInfoPolicyDetails) + +class SharedContentClaimInvitationDetails(object): + """ + Claimed membership to a team member's shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_content_link: Shared content link. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_content_link_value', + '_shared_content_link_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_content_link=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_content_link_value = None + self._shared_content_link_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_content_link is not None: + self.shared_content_link = shared_content_link + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_content_link(self): + """ + Shared content link. + + :rtype: str + """ + if self._shared_content_link_present: + return self._shared_content_link_value + else: + return None + + @shared_content_link.setter + def shared_content_link(self, val): + if val is None: + del self.shared_content_link + return + val = self._shared_content_link_validator.validate(val) + self._shared_content_link_value = val + self._shared_content_link_present = True + + @shared_content_link.deleter + def shared_content_link(self): + self._shared_content_link_value = None + self._shared_content_link_present = False + + def __repr__(self): + return 'SharedContentClaimInvitationDetails(target_index={!r}, original_folder_name={!r}, shared_content_link={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_content_link_value, + ) + +SharedContentClaimInvitationDetails_validator = bv.Struct(SharedContentClaimInvitationDetails) + +class SharedContentCopyDetails(object): + """ + Copied the shared file or folder to own Dropbox. + + :ivar shared_content_link: Shared content link. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + :ivar target_index: Target asset index. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + '_target_index_value', + '_target_index_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_link=None, + src_index=None, + dest_index=None, + target_index=None, + sharing_permission=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + self._target_index_value = None + self._target_index_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + if target_index is not None: + self.target_index = target_index + + @property + def shared_content_link(self): + """ + Shared content link. + + :rtype: str + """ + if self._shared_content_link_present: + return self._shared_content_link_value + else: + raise AttributeError("missing required field 'shared_content_link'") + + @shared_content_link.setter + def shared_content_link(self, val): + val = self._shared_content_link_validator.validate(val) + self._shared_content_link_value = val + self._shared_content_link_present = True + + @shared_content_link.deleter + def shared_content_link(self): + self._shared_content_link_value = None + self._shared_content_link_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + def __repr__(self): + return 'SharedContentCopyDetails(shared_content_link={!r}, src_index={!r}, dest_index={!r}, target_index={!r}, sharing_permission={!r})'.format( + self._shared_content_link_value, + self._src_index_value, + self._dest_index_value, + self._target_index_value, + self._sharing_permission_value, + ) + +SharedContentCopyDetails_validator = bv.Struct(SharedContentCopyDetails) + +class SharedContentDownloadDetails(object): + """ + Downloaded the shared file or folder. + + :ivar shared_content_link: Shared content link. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar target_index: Target asset index. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_target_index_value', + '_target_index_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_link=None, + target_index=None, + sharing_permission=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._target_index_value = None + self._target_index_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if target_index is not None: + self.target_index = target_index + + @property + def shared_content_link(self): + """ + Shared content link. + + :rtype: str + """ + if self._shared_content_link_present: + return self._shared_content_link_value + else: + raise AttributeError("missing required field 'shared_content_link'") + + @shared_content_link.setter + def shared_content_link(self, val): + val = self._shared_content_link_validator.validate(val) + self._shared_content_link_value = val + self._shared_content_link_present = True + + @shared_content_link.deleter + def shared_content_link(self): + self._shared_content_link_value = None + self._shared_content_link_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + def __repr__(self): + return 'SharedContentDownloadDetails(shared_content_link={!r}, target_index={!r}, sharing_permission={!r})'.format( + self._shared_content_link_value, + self._target_index_value, + self._sharing_permission_value, + ) + +SharedContentDownloadDetails_validator = bv.Struct(SharedContentDownloadDetails) + +class SharedContentRelinquishMembershipDetails(object): + """ + Left the membership of a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedContentRelinquishMembershipDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedContentRelinquishMembershipDetails_validator = bv.Struct(SharedContentRelinquishMembershipDetails) + +class SharedContentRemoveInviteeDetails(object): + """ + Removed an invitee from the membership of a shared file or folder before it + was claimed. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedContentRemoveInviteeDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedContentRemoveInviteeDetails_validator = bv.Struct(SharedContentRemoveInviteeDetails) + +class SharedContentRemoveLinkExpiryDetails(object): + """ + Removed the expiry of the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentRemoveLinkExpiryDetails(target_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentRemoveLinkExpiryDetails_validator = bv.Struct(SharedContentRemoveLinkExpiryDetails) + +class SharedContentRemoveLinkPasswordDetails(object): + """ + Removed the password on the link for the shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentRemoveLinkPasswordDetails(target_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_folder_type_value, + ) + +SharedContentRemoveLinkPasswordDetails_validator = bv.Struct(SharedContentRemoveLinkPasswordDetails) + +class SharedContentRemoveMemberDetails(object): + """ + Removed a user or a group from the membership of a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + sharing_permission=None, + shared_folder_type=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + def __repr__(self): + return 'SharedContentRemoveMemberDetails(target_index={!r}, original_folder_name={!r}, sharing_permission={!r}, shared_folder_type={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + self._shared_folder_type_value, + ) + +SharedContentRemoveMemberDetails_validator = bv.Struct(SharedContentRemoveMemberDetails) + +class SharedContentRequestAccessDetails(object): + """ + Requested to be on the membership of a shared file or folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_content_link: Shared content link. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_content_link_value', + '_shared_content_link_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + shared_content_link=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_content_link_value = None + self._shared_content_link_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_content_link is not None: + self.shared_content_link = shared_content_link + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_content_link(self): + """ + Shared content link. + + :rtype: str + """ + if self._shared_content_link_present: + return self._shared_content_link_value + else: + return None + + @shared_content_link.setter + def shared_content_link(self, val): + if val is None: + del self.shared_content_link + return + val = self._shared_content_link_validator.validate(val) + self._shared_content_link_value = val + self._shared_content_link_present = True + + @shared_content_link.deleter + def shared_content_link(self): + self._shared_content_link_value = None + self._shared_content_link_present = False + + def __repr__(self): + return 'SharedContentRequestAccessDetails(target_index={!r}, original_folder_name={!r}, shared_content_link={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._shared_content_link_value, + ) + +SharedContentRequestAccessDetails_validator = bv.Struct(SharedContentRequestAccessDetails) + +class SharedContentUnshareDetails(object): + """ + Unshared a shared file or folder by clearing its membership and turning off + its link. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + return None + + @original_folder_name.setter + def original_folder_name(self, val): + if val is None: + del self.original_folder_name + return + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedContentUnshareDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedContentUnshareDetails_validator = bv.Struct(SharedContentUnshareDetails) + +class SharedContentViewDetails(object): + """ + Previewed the shared file or folder. + + :ivar shared_content_link: Shared content link. + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar target_index: Target asset index. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + '_sharing_permission_value', + '_sharing_permission_present', + '_target_index_value', + '_target_index_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_link=None, + target_index=None, + sharing_permission=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + self._sharing_permission_value = None + self._sharing_permission_present = False + self._target_index_value = None + self._target_index_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if target_index is not None: + self.target_index = target_index + + @property + def shared_content_link(self): + """ + Shared content link. + + :rtype: str + """ + if self._shared_content_link_present: + return self._shared_content_link_value + else: + raise AttributeError("missing required field 'shared_content_link'") + + @shared_content_link.setter + def shared_content_link(self, val): + val = self._shared_content_link_validator.validate(val) + self._shared_content_link_value = val + self._shared_content_link_present = True + + @shared_content_link.deleter + def shared_content_link(self): + self._shared_content_link_value = None + self._shared_content_link_present = False + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + def __repr__(self): + return 'SharedContentViewDetails(shared_content_link={!r}, target_index={!r}, sharing_permission={!r})'.format( + self._shared_content_link_value, + self._target_index_value, + self._sharing_permission_value, + ) + +SharedContentViewDetails_validator = bv.Struct(SharedContentViewDetails) + +class SharedFolderChangeConfidentialityDetails(object): + """ + Set or unset the confidential flag on a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar new_value: New confidentiality value. + :ivar previous_value: Previous confidentiality value. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + new_value=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def new_value(self): + """ + New confidentiality value. + + :rtype: Confidentiality + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous confidentiality value. Might be missing due to historical data + gap. + + :rtype: Confidentiality + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedFolderChangeConfidentialityDetails(target_index={!r}, original_folder_name={!r}, new_value={!r}, previous_value={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._new_value_value, + self._previous_value_value, + ) + +SharedFolderChangeConfidentialityDetails_validator = bv.Struct(SharedFolderChangeConfidentialityDetails) + +class SharedFolderChangeLinkPolicyDetails(object): + """ + Changed who can access the shared folder via a link. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New shared folder link policy. + :ivar previous_value: Previous shared folder link policy. Might be missing + due to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + new_value=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New shared folder link policy. + + :rtype: SharedFolderLinkPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous shared folder link policy. Might be missing due to historical + data gap. + + :rtype: SharedFolderLinkPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedFolderChangeLinkPolicyDetails(target_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._new_value_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedFolderChangeLinkPolicyDetails_validator = bv.Struct(SharedFolderChangeLinkPolicyDetails) + +class SharedFolderChangeMemberManagementPolicyDetails(object): + """ + Changed who can manage the membership of a shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New membership management policy. + :ivar previous_value: Previous membership management policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + new_value=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New membership management policy. + + :rtype: SharedFolderMembershipManagementPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous membership management policy. Might be missing due to + historical data gap. + + :rtype: SharedFolderMembershipManagementPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedFolderChangeMemberManagementPolicyDetails(target_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._new_value_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedFolderChangeMemberManagementPolicyDetails_validator = bv.Struct(SharedFolderChangeMemberManagementPolicyDetails) + +class SharedFolderChangeMemberPolicyDetails(object): + """ + Changed who can become a member of the shared folder. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + :ivar shared_folder_type: Shared folder type. Might be missing due to + historical data gap. + :ivar new_value: New external invite policy. + :ivar previous_value: Previous external invite policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_shared_folder_type_value', + '_shared_folder_type_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None, + new_value=None, + shared_folder_type=None, + previous_value=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._shared_folder_type_value = None + self._shared_folder_type_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if shared_folder_type is not None: + self.shared_folder_type = shared_folder_type + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + @property + def shared_folder_type(self): + """ + Shared folder type. Might be missing due to historical data gap. + + :rtype: str + """ + if self._shared_folder_type_present: + return self._shared_folder_type_value + else: + return None + + @shared_folder_type.setter + def shared_folder_type(self, val): + if val is None: + del self.shared_folder_type + return + val = self._shared_folder_type_validator.validate(val) + self._shared_folder_type_value = val + self._shared_folder_type_present = True + + @shared_folder_type.deleter + def shared_folder_type(self): + self._shared_folder_type_value = None + self._shared_folder_type_present = False + + @property + def new_value(self): + """ + New external invite policy. + + :rtype: ExternalSharingPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous external invite policy. Might be missing due to historical data + gap. + + :rtype: ExternalSharingPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharedFolderChangeMemberPolicyDetails(target_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + self._new_value_value, + self._shared_folder_type_value, + self._previous_value_value, + ) + +SharedFolderChangeMemberPolicyDetails_validator = bv.Struct(SharedFolderChangeMemberPolicyDetails) + +class SharedFolderCreateDetails(object): + """ + Created a shared folder. + + :ivar target_index: Target asset index. + :ivar parent_ns_id: Parent namespace ID. Might be missing due to historical + data gap. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_parent_ns_id_value', + '_parent_ns_id_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + parent_ns_id=None): + self._target_index_value = None + self._target_index_present = False + self._parent_ns_id_value = None + self._parent_ns_id_present = False + if target_index is not None: + self.target_index = target_index + if parent_ns_id is not None: + self.parent_ns_id = parent_ns_id + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def parent_ns_id(self): + """ + Parent namespace ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._parent_ns_id_present: + return self._parent_ns_id_value + else: + return None + + @parent_ns_id.setter + def parent_ns_id(self, val): + if val is None: + del self.parent_ns_id + return + val = self._parent_ns_id_validator.validate(val) + self._parent_ns_id_value = val + self._parent_ns_id_present = True + + @parent_ns_id.deleter + def parent_ns_id(self): + self._parent_ns_id_value = None + self._parent_ns_id_present = False + + def __repr__(self): + return 'SharedFolderCreateDetails(target_index={!r}, parent_ns_id={!r})'.format( + self._target_index_value, + self._parent_ns_id_value, + ) + +SharedFolderCreateDetails_validator = bv.Struct(SharedFolderCreateDetails) + +class SharedFolderLinkPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + members_only = None + # Attribute is overwritten below the class definition + members_and_team = None + # Attribute is overwritten below the class definition + anyone = None + # Attribute is overwritten below the class definition + other = None + + def is_members_only(self): + """ + Check if the union tag is ``members_only``. + + :rtype: bool + """ + return self._tag == 'members_only' + + def is_members_and_team(self): + """ + Check if the union tag is ``members_and_team``. + + :rtype: bool + """ + return self._tag == 'members_and_team' + + def is_anyone(self): + """ + Check if the union tag is ``anyone``. + + :rtype: bool + """ + return self._tag == 'anyone' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SharedFolderLinkPolicy(%r, %r)' % (self._tag, self._value) + +SharedFolderLinkPolicy_validator = bv.Union(SharedFolderLinkPolicy) + +class SharedFolderLogInfo(object): + """ + SharedFolder's logged information. + + :ivar ns_id: Namespace ID. Might be missing due to historical data gap. + :ivar display_name: Shared folder display name. + """ + + __slots__ = [ + '_ns_id_value', + '_ns_id_present', + '_display_name_value', + '_display_name_present', + ] + + _has_required_fields = True + + def __init__(self, + display_name=None, + ns_id=None): + self._ns_id_value = None + self._ns_id_present = False + self._display_name_value = None + self._display_name_present = False + if ns_id is not None: + self.ns_id = ns_id + if display_name is not None: + self.display_name = display_name + + @property + def ns_id(self): + """ + Namespace ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._ns_id_present: + return self._ns_id_value + else: + return None + + @ns_id.setter + def ns_id(self, val): + if val is None: + del self.ns_id + return + val = self._ns_id_validator.validate(val) + self._ns_id_value = val + self._ns_id_present = True + + @ns_id.deleter + def ns_id(self): + self._ns_id_value = None + self._ns_id_present = False + + @property + def display_name(self): + """ + Shared folder display name. + + :rtype: str + """ + if self._display_name_present: + return self._display_name_value + else: + raise AttributeError("missing required field 'display_name'") + + @display_name.setter + def display_name(self, val): + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True + + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + def __repr__(self): + return 'SharedFolderLogInfo(display_name={!r}, ns_id={!r})'.format( + self._display_name_value, + self._ns_id_value, + ) + +SharedFolderLogInfo_validator = bv.Struct(SharedFolderLogInfo) + +class SharedFolderMembershipManagementPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + owner = None + # Attribute is overwritten below the class definition + editors = None + # Attribute is overwritten below the class definition + other = None + + def is_owner(self): + """ + Check if the union tag is ``owner``. + + :rtype: bool + """ + return self._tag == 'owner' + + def is_editors(self): + """ + Check if the union tag is ``editors``. + + :rtype: bool + """ + return self._tag == 'editors' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SharedFolderMembershipManagementPolicy(%r, %r)' % (self._tag, self._value) + +SharedFolderMembershipManagementPolicy_validator = bv.Union(SharedFolderMembershipManagementPolicy) + +class SharedFolderMountDetails(object): + """ + Added a shared folder to own Dropbox. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedFolderMountDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedFolderMountDetails_validator = bv.Struct(SharedFolderMountDetails) + +class SharedFolderTransferOwnershipDetails(object): + """ + Transferred the ownership of a shared folder to another member. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedFolderTransferOwnershipDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedFolderTransferOwnershipDetails_validator = bv.Struct(SharedFolderTransferOwnershipDetails) + +class SharedFolderUnmountDetails(object): + """ + Deleted a shared folder from Dropbox. + + :ivar target_index: Target asset index. + :ivar original_folder_name: Original shared folder name. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None, + original_folder_name=None): + self._target_index_value = None + self._target_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_index is not None: + self.target_index = target_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + @property + def original_folder_name(self): + """ + Original shared folder name. + + :rtype: str + """ + if self._original_folder_name_present: + return self._original_folder_name_value + else: + raise AttributeError("missing required field 'original_folder_name'") + + @original_folder_name.setter + def original_folder_name(self, val): + val = self._original_folder_name_validator.validate(val) + self._original_folder_name_value = val + self._original_folder_name_present = True + + @original_folder_name.deleter + def original_folder_name(self): + self._original_folder_name_value = None + self._original_folder_name_present = False + + def __repr__(self): + return 'SharedFolderUnmountDetails(target_index={!r}, original_folder_name={!r})'.format( + self._target_index_value, + self._original_folder_name_value, + ) + +SharedFolderUnmountDetails_validator = bv.Struct(SharedFolderUnmountDetails) + +class SharedNoteOpenedDetails(object): + """ + Shared Paper document was opened. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'SharedNoteOpenedDetails()' + +SharedNoteOpenedDetails_validator = bv.Struct(SharedNoteOpenedDetails) + +class SharingChangeFolderJoinPolicyDetails(object): + """ + Changed whether team members can join shared folders owned externally (i.e. + outside the team). + + :ivar new_value: New external join policy. + :ivar previous_value: Previous external join policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New external join policy. + + :rtype: ExternalSharingPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous external join policy. Might be missing due to historical data + gap. + + :rtype: ExternalSharingPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharingChangeFolderJoinPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharingChangeFolderJoinPolicyDetails_validator = bv.Struct(SharingChangeFolderJoinPolicyDetails) + +class SharingChangeLinkPolicyDetails(object): + """ + Changed whether team members can share links externally (i.e. outside the + team), and if so, whether links should be accessible only by team members or + anyone by default. + + :ivar new_value: New external link accessibility policy. + :ivar previous_value: Previous external link accessibility policy. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New external link accessibility policy. + + :rtype: ExternalSharingAccessibilityPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous external link accessibility policy. Might be missing due to + historical data gap. + + :rtype: ExternalSharingAccessibilityPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharingChangeLinkPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharingChangeLinkPolicyDetails_validator = bv.Struct(SharingChangeLinkPolicyDetails) + +class SharingChangeMemberPolicyDetails(object): + """ + Changed whether team members can share files and folders externally (i.e. + outside the team). + + :ivar new_value: New external invite policy. + :ivar previous_value: Previous external invite policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New external invite policy. + + :rtype: ExternalSharingPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous external invite policy. Might be missing due to historical data + gap. + + :rtype: ExternalSharingPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SharingChangeMemberPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharingChangeMemberPolicyDetails_validator = bv.Struct(SharingChangeMemberPolicyDetails) + +class ShmodelAppCreateDetails(object): + """ + Created a link to a file using an app. + + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar token_key: Shared link token key. + """ + + __slots__ = [ + '_sharing_permission_value', + '_sharing_permission_present', + '_token_key_value', + '_token_key_present', + ] + + _has_required_fields = False + + def __init__(self, + sharing_permission=None, + token_key=None): + self._sharing_permission_value = None + self._sharing_permission_present = False + self._token_key_value = None + self._token_key_present = False + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if token_key is not None: + self.token_key = token_key + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def token_key(self): + """ + Shared link token key. + + :rtype: str + """ + if self._token_key_present: + return self._token_key_value + else: + return None + + @token_key.setter + def token_key(self, val): + if val is None: + del self.token_key + return + val = self._token_key_validator.validate(val) + self._token_key_value = val + self._token_key_present = True + + @token_key.deleter + def token_key(self): + self._token_key_value = None + self._token_key_present = False + + def __repr__(self): + return 'ShmodelAppCreateDetails(sharing_permission={!r}, token_key={!r})'.format( + self._sharing_permission_value, + self._token_key_value, + ) + +ShmodelAppCreateDetails_validator = bv.Struct(ShmodelAppCreateDetails) + +class ShmodelCreateDetails(object): + """ + Created a new link. + + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar token_key: Shared link token key. + """ + + __slots__ = [ + '_sharing_permission_value', + '_sharing_permission_present', + '_token_key_value', + '_token_key_present', + ] + + _has_required_fields = False + + def __init__(self, + sharing_permission=None, + token_key=None): + self._sharing_permission_value = None + self._sharing_permission_present = False + self._token_key_value = None + self._token_key_present = False + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if token_key is not None: + self.token_key = token_key + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def token_key(self): + """ + Shared link token key. + + :rtype: str + """ + if self._token_key_present: + return self._token_key_value + else: + return None + + @token_key.setter + def token_key(self, val): + if val is None: + del self.token_key + return + val = self._token_key_validator.validate(val) + self._token_key_value = val + self._token_key_present = True + + @token_key.deleter + def token_key(self): + self._token_key_value = None + self._token_key_present = False + + def __repr__(self): + return 'ShmodelCreateDetails(sharing_permission={!r}, token_key={!r})'.format( + self._sharing_permission_value, + self._token_key_value, + ) + +ShmodelCreateDetails_validator = bv.Struct(ShmodelCreateDetails) + +class ShmodelDisableDetails(object): + """ + Removed a link. + + :ivar sharing_permission: Sharing permission. Might be missing due to + historical data gap. + :ivar token_key: Shared link token key. + """ + + __slots__ = [ + '_sharing_permission_value', + '_sharing_permission_present', + '_token_key_value', + '_token_key_present', + ] + + _has_required_fields = False + + def __init__(self, + sharing_permission=None, + token_key=None): + self._sharing_permission_value = None + self._sharing_permission_present = False + self._token_key_value = None + self._token_key_present = False + if sharing_permission is not None: + self.sharing_permission = sharing_permission + if token_key is not None: + self.token_key = token_key + + @property + def sharing_permission(self): + """ + Sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._sharing_permission_present: + return self._sharing_permission_value + else: + return None + + @sharing_permission.setter + def sharing_permission(self, val): + if val is None: + del self.sharing_permission + return + val = self._sharing_permission_validator.validate(val) + self._sharing_permission_value = val + self._sharing_permission_present = True + + @sharing_permission.deleter + def sharing_permission(self): + self._sharing_permission_value = None + self._sharing_permission_present = False + + @property + def token_key(self): + """ + Shared link token key. + + :rtype: str + """ + if self._token_key_present: + return self._token_key_value + else: + return None + + @token_key.setter + def token_key(self, val): + if val is None: + del self.token_key + return + val = self._token_key_validator.validate(val) + self._token_key_value = val + self._token_key_present = True + + @token_key.deleter + def token_key(self): + self._token_key_value = None + self._token_key_present = False + + def __repr__(self): + return 'ShmodelDisableDetails(sharing_permission={!r}, token_key={!r})'.format( + self._sharing_permission_value, + self._token_key_value, + ) + +ShmodelDisableDetails_validator = bv.Struct(ShmodelDisableDetails) + +class ShmodelFbShareDetails(object): + """ + Shared a link with Facebook users. + + :ivar sharing_non_member_recipients: Sharing non member recipients. + """ + + __slots__ = [ + '_sharing_non_member_recipients_value', + '_sharing_non_member_recipients_present', + ] + + _has_required_fields = True + + def __init__(self, + sharing_non_member_recipients=None): + self._sharing_non_member_recipients_value = None + self._sharing_non_member_recipients_present = False + if sharing_non_member_recipients is not None: + self.sharing_non_member_recipients = sharing_non_member_recipients + + @property + def sharing_non_member_recipients(self): + """ + Sharing non member recipients. + + :rtype: list of [NonTeamMemberLogInfo] + """ + if self._sharing_non_member_recipients_present: + return self._sharing_non_member_recipients_value + else: + raise AttributeError("missing required field 'sharing_non_member_recipients'") + + @sharing_non_member_recipients.setter + def sharing_non_member_recipients(self, val): + val = self._sharing_non_member_recipients_validator.validate(val) + self._sharing_non_member_recipients_value = val + self._sharing_non_member_recipients_present = True + + @sharing_non_member_recipients.deleter + def sharing_non_member_recipients(self): + self._sharing_non_member_recipients_value = None + self._sharing_non_member_recipients_present = False + + def __repr__(self): + return 'ShmodelFbShareDetails(sharing_non_member_recipients={!r})'.format( + self._sharing_non_member_recipients_value, + ) + +ShmodelFbShareDetails_validator = bv.Struct(ShmodelFbShareDetails) + +class ShmodelGroupShareDetails(object): + """ + Shared a link with a group. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelGroupShareDetails()' + +ShmodelGroupShareDetails_validator = bv.Struct(ShmodelGroupShareDetails) + +class ShmodelRemoveExpirationDetails(object): + """ + Removed the expiration date from a link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelRemoveExpirationDetails()' + +ShmodelRemoveExpirationDetails_validator = bv.Struct(ShmodelRemoveExpirationDetails) + +class ShmodelSetExpirationDetails(object): + """ + Added an expiration date to a link. + + :ivar expiration_start_date: Expiration starting date. + :ivar expiration_days: The number of days from the starting expiration date + after which the link will expire. + """ + + __slots__ = [ + '_expiration_start_date_value', + '_expiration_start_date_present', + '_expiration_days_value', + '_expiration_days_present', + ] + + _has_required_fields = True + + def __init__(self, + expiration_start_date=None, + expiration_days=None): + self._expiration_start_date_value = None + self._expiration_start_date_present = False + self._expiration_days_value = None + self._expiration_days_present = False + if expiration_start_date is not None: + self.expiration_start_date = expiration_start_date + if expiration_days is not None: + self.expiration_days = expiration_days + + @property + def expiration_start_date(self): + """ + Expiration starting date. + + :rtype: str + """ + if self._expiration_start_date_present: + return self._expiration_start_date_value + else: + raise AttributeError("missing required field 'expiration_start_date'") + + @expiration_start_date.setter + def expiration_start_date(self, val): + val = self._expiration_start_date_validator.validate(val) + self._expiration_start_date_value = val + self._expiration_start_date_present = True + + @expiration_start_date.deleter + def expiration_start_date(self): + self._expiration_start_date_value = None + self._expiration_start_date_present = False + + @property + def expiration_days(self): + """ + The number of days from the starting expiration date after which the + link will expire. + + :rtype: long + """ + if self._expiration_days_present: + return self._expiration_days_value + else: + raise AttributeError("missing required field 'expiration_days'") + + @expiration_days.setter + def expiration_days(self, val): + val = self._expiration_days_validator.validate(val) + self._expiration_days_value = val + self._expiration_days_present = True + + @expiration_days.deleter + def expiration_days(self): + self._expiration_days_value = None + self._expiration_days_present = False + + def __repr__(self): + return 'ShmodelSetExpirationDetails(expiration_start_date={!r}, expiration_days={!r})'.format( + self._expiration_start_date_value, + self._expiration_days_value, + ) + +ShmodelSetExpirationDetails_validator = bv.Struct(ShmodelSetExpirationDetails) + +class ShmodelTeamCopyDetails(object): + """ + Added a team member's file/folder to their Dropbox from a link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelTeamCopyDetails()' + +ShmodelTeamCopyDetails_validator = bv.Struct(ShmodelTeamCopyDetails) + +class ShmodelTeamDownloadDetails(object): + """ + Downloaded a team member's file/folder from a link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelTeamDownloadDetails()' + +ShmodelTeamDownloadDetails_validator = bv.Struct(ShmodelTeamDownloadDetails) + +class ShmodelTeamShareDetails(object): + """ + Shared a link with team members. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelTeamShareDetails()' + +ShmodelTeamShareDetails_validator = bv.Struct(ShmodelTeamShareDetails) + +class ShmodelTeamViewDetails(object): + """ + Opened a team member's link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelTeamViewDetails()' + +ShmodelTeamViewDetails_validator = bv.Struct(ShmodelTeamViewDetails) + +class ShmodelVisibilityPasswordDetails(object): + """ + Password-protected a link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelVisibilityPasswordDetails()' + +ShmodelVisibilityPasswordDetails_validator = bv.Struct(ShmodelVisibilityPasswordDetails) + +class ShmodelVisibilityPublicDetails(object): + """ + Made a file/folder visible to anyone with the link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelVisibilityPublicDetails()' + +ShmodelVisibilityPublicDetails_validator = bv.Struct(ShmodelVisibilityPublicDetails) + +class ShmodelVisibilityTeamOnlyDetails(object): + """ + Made a file/folder visible only to team members with the link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'ShmodelVisibilityTeamOnlyDetails()' + +ShmodelVisibilityTeamOnlyDetails_validator = bv.Struct(ShmodelVisibilityTeamOnlyDetails) + +class SignInAsSessionEndDetails(object): + """ + Ended admin sign-in-as session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'SignInAsSessionEndDetails()' + +SignInAsSessionEndDetails_validator = bv.Struct(SignInAsSessionEndDetails) + +class SignInAsSessionStartDetails(object): + """ + Started admin sign-in-as session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'SignInAsSessionStartDetails()' + +SignInAsSessionStartDetails_validator = bv.Struct(SignInAsSessionStartDetails) + +class SmartSyncChangePolicyDetails(object): + """ + Changed the default Smart Sync policy for team members. + + :ivar new_value: New smart sync policy. + :ivar previous_value: Previous smart sync policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New smart sync policy. + + :rtype: SmartSyncPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous smart sync policy. Might be missing due to historical data gap. + + :rtype: SmartSyncPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SmartSyncChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SmartSyncChangePolicyDetails_validator = bv.Struct(SmartSyncChangePolicyDetails) + +class SmartSyncCreateAdminPrivilegeReportDetails(object): + """ + Smart Sync non-admin devices report created. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'SmartSyncCreateAdminPrivilegeReportDetails()' + +SmartSyncCreateAdminPrivilegeReportDetails_validator = bv.Struct(SmartSyncCreateAdminPrivilegeReportDetails) + +class SmartSyncPolicy(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + local_only = None + # Attribute is overwritten below the class definition + synced = None + # Attribute is overwritten below the class definition + other = None + + def is_local_only(self): + """ + Check if the union tag is ``local_only``. + + :rtype: bool + """ + return self._tag == 'local_only' + + def is_synced(self): + """ + Check if the union tag is ``synced``. + + :rtype: bool + """ + return self._tag == 'synced' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SmartSyncPolicy(%r, %r)' % (self._tag, self._value) + +SmartSyncPolicy_validator = bv.Union(SmartSyncPolicy) + +class SpaceLimitsLevel(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + generous = None + # Attribute is overwritten below the class definition + moderate = None + # Attribute is overwritten below the class definition + no_limit = None + # Attribute is overwritten below the class definition + strict = None + # Attribute is overwritten below the class definition + other = None + + def is_generous(self): + """ + Check if the union tag is ``generous``. + + :rtype: bool + """ + return self._tag == 'generous' + + def is_moderate(self): + """ + Check if the union tag is ``moderate``. + + :rtype: bool + """ + return self._tag == 'moderate' + + def is_no_limit(self): + """ + Check if the union tag is ``no_limit``. + + :rtype: bool + """ + return self._tag == 'no_limit' + + def is_strict(self): + """ + Check if the union tag is ``strict``. + + :rtype: bool + """ + return self._tag == 'strict' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SpaceLimitsLevel(%r, %r)' % (self._tag, self._value) + +SpaceLimitsLevel_validator = bv.Union(SpaceLimitsLevel) + +class SpaceLimitsStatus(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + within_quota = None + # Attribute is overwritten below the class definition + near_quota = None + # Attribute is overwritten below the class definition + over_quota = None + # Attribute is overwritten below the class definition + other = None + + def is_within_quota(self): + """ + Check if the union tag is ``within_quota``. + + :rtype: bool + """ + return self._tag == 'within_quota' + + def is_near_quota(self): + """ + Check if the union tag is ``near_quota``. + + :rtype: bool + """ + return self._tag == 'near_quota' + + def is_over_quota(self): + """ + Check if the union tag is ``over_quota``. + + :rtype: bool + """ + return self._tag == 'over_quota' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'SpaceLimitsStatus(%r, %r)' % (self._tag, self._value) + +SpaceLimitsStatus_validator = bv.Union(SpaceLimitsStatus) + +class SsoChangeCertDetails(object): + """ + Changed the X.509 certificate for SSO. + + :ivar subject: Certificate subject. + :ivar issuer: Certificate issuer. + :ivar issue_date: Certificate issue date. + :ivar expiration_date: Certificate expiration date. + :ivar serial_number: Certificate serial number. + :ivar sha1_fingerprint: Certificate sha1 fingerprint. + :ivar common_name: Certificate common name. + """ + + __slots__ = [ + '_subject_value', + '_subject_present', + '_issuer_value', + '_issuer_present', + '_issue_date_value', + '_issue_date_present', + '_expiration_date_value', + '_expiration_date_present', + '_serial_number_value', + '_serial_number_present', + '_sha1_fingerprint_value', + '_sha1_fingerprint_present', + '_common_name_value', + '_common_name_present', + ] + + _has_required_fields = True + + def __init__(self, + subject=None, + issuer=None, + issue_date=None, + expiration_date=None, + serial_number=None, + sha1_fingerprint=None, + common_name=None): + self._subject_value = None + self._subject_present = False + self._issuer_value = None + self._issuer_present = False + self._issue_date_value = None + self._issue_date_present = False + self._expiration_date_value = None + self._expiration_date_present = False + self._serial_number_value = None + self._serial_number_present = False + self._sha1_fingerprint_value = None + self._sha1_fingerprint_present = False + self._common_name_value = None + self._common_name_present = False + if subject is not None: + self.subject = subject + if issuer is not None: + self.issuer = issuer + if issue_date is not None: + self.issue_date = issue_date + if expiration_date is not None: + self.expiration_date = expiration_date + if serial_number is not None: + self.serial_number = serial_number + if sha1_fingerprint is not None: + self.sha1_fingerprint = sha1_fingerprint + if common_name is not None: + self.common_name = common_name + + @property + def subject(self): + """ + Certificate subject. + + :rtype: str + """ + if self._subject_present: + return self._subject_value + else: + raise AttributeError("missing required field 'subject'") + + @subject.setter + def subject(self, val): + val = self._subject_validator.validate(val) + self._subject_value = val + self._subject_present = True + + @subject.deleter + def subject(self): + self._subject_value = None + self._subject_present = False + + @property + def issuer(self): + """ + Certificate issuer. + + :rtype: str + """ + if self._issuer_present: + return self._issuer_value + else: + raise AttributeError("missing required field 'issuer'") + + @issuer.setter + def issuer(self, val): + val = self._issuer_validator.validate(val) + self._issuer_value = val + self._issuer_present = True + + @issuer.deleter + def issuer(self): + self._issuer_value = None + self._issuer_present = False + + @property + def issue_date(self): + """ + Certificate issue date. + + :rtype: str + """ + if self._issue_date_present: + return self._issue_date_value + else: + raise AttributeError("missing required field 'issue_date'") + + @issue_date.setter + def issue_date(self, val): + val = self._issue_date_validator.validate(val) + self._issue_date_value = val + self._issue_date_present = True + + @issue_date.deleter + def issue_date(self): + self._issue_date_value = None + self._issue_date_present = False + + @property + def expiration_date(self): + """ + Certificate expiration date. + + :rtype: str + """ + if self._expiration_date_present: + return self._expiration_date_value + else: + raise AttributeError("missing required field 'expiration_date'") + + @expiration_date.setter + def expiration_date(self, val): + val = self._expiration_date_validator.validate(val) + self._expiration_date_value = val + self._expiration_date_present = True + + @expiration_date.deleter + def expiration_date(self): + self._expiration_date_value = None + self._expiration_date_present = False + + @property + def serial_number(self): + """ + Certificate serial number. + + :rtype: str + """ + if self._serial_number_present: + return self._serial_number_value + else: + raise AttributeError("missing required field 'serial_number'") + + @serial_number.setter + def serial_number(self, val): + val = self._serial_number_validator.validate(val) + self._serial_number_value = val + self._serial_number_present = True + + @serial_number.deleter + def serial_number(self): + self._serial_number_value = None + self._serial_number_present = False + + @property + def sha1_fingerprint(self): + """ + Certificate sha1 fingerprint. + + :rtype: str + """ + if self._sha1_fingerprint_present: + return self._sha1_fingerprint_value + else: + raise AttributeError("missing required field 'sha1_fingerprint'") + + @sha1_fingerprint.setter + def sha1_fingerprint(self, val): + val = self._sha1_fingerprint_validator.validate(val) + self._sha1_fingerprint_value = val + self._sha1_fingerprint_present = True + + @sha1_fingerprint.deleter + def sha1_fingerprint(self): + self._sha1_fingerprint_value = None + self._sha1_fingerprint_present = False + + @property + def common_name(self): + """ + Certificate common name. + + :rtype: str + """ + if self._common_name_present: + return self._common_name_value + else: + raise AttributeError("missing required field 'common_name'") + + @common_name.setter + def common_name(self, val): + val = self._common_name_validator.validate(val) + self._common_name_value = val + self._common_name_present = True + + @common_name.deleter + def common_name(self): + self._common_name_value = None + self._common_name_present = False + + def __repr__(self): + return 'SsoChangeCertDetails(subject={!r}, issuer={!r}, issue_date={!r}, expiration_date={!r}, serial_number={!r}, sha1_fingerprint={!r}, common_name={!r})'.format( + self._subject_value, + self._issuer_value, + self._issue_date_value, + self._expiration_date_value, + self._serial_number_value, + self._sha1_fingerprint_value, + self._common_name_value, + ) + +SsoChangeCertDetails_validator = bv.Struct(SsoChangeCertDetails) + +class SsoChangeLoginUrlDetails(object): + """ + Changed the sign-in URL for SSO. + + :ivar previous_sso_url: Previous SSO Url. + :ivar new_sso_url: New SSO Url. + """ + + __slots__ = [ + '_previous_sso_url_value', + '_previous_sso_url_present', + '_new_sso_url_value', + '_new_sso_url_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_sso_url=None, + new_sso_url=None): + self._previous_sso_url_value = None + self._previous_sso_url_present = False + self._new_sso_url_value = None + self._new_sso_url_present = False + if previous_sso_url is not None: + self.previous_sso_url = previous_sso_url + if new_sso_url is not None: + self.new_sso_url = new_sso_url + + @property + def previous_sso_url(self): + """ + Previous SSO Url. + + :rtype: str + """ + if self._previous_sso_url_present: + return self._previous_sso_url_value + else: + raise AttributeError("missing required field 'previous_sso_url'") + + @previous_sso_url.setter + def previous_sso_url(self, val): + val = self._previous_sso_url_validator.validate(val) + self._previous_sso_url_value = val + self._previous_sso_url_present = True + + @previous_sso_url.deleter + def previous_sso_url(self): + self._previous_sso_url_value = None + self._previous_sso_url_present = False + + @property + def new_sso_url(self): + """ + New SSO Url. + + :rtype: str + """ + if self._new_sso_url_present: + return self._new_sso_url_value + else: + raise AttributeError("missing required field 'new_sso_url'") + + @new_sso_url.setter + def new_sso_url(self, val): + val = self._new_sso_url_validator.validate(val) + self._new_sso_url_value = val + self._new_sso_url_present = True + + @new_sso_url.deleter + def new_sso_url(self): + self._new_sso_url_value = None + self._new_sso_url_present = False + + def __repr__(self): + return 'SsoChangeLoginUrlDetails(previous_sso_url={!r}, new_sso_url={!r})'.format( + self._previous_sso_url_value, + self._new_sso_url_value, + ) + +SsoChangeLoginUrlDetails_validator = bv.Struct(SsoChangeLoginUrlDetails) + +class SsoChangeLogoutUrlDetails(object): + """ + Changed the sign-out URL for SSO. + + :ivar previous_sso_logout_url: Previous single sign-on logout URL. + :ivar new_sso_logout_url: New single sign-on logout URL. Might be missing + due to historical data gap. + """ + + __slots__ = [ + '_previous_sso_logout_url_value', + '_previous_sso_logout_url_present', + '_new_sso_logout_url_value', + '_new_sso_logout_url_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_sso_logout_url=None, + new_sso_logout_url=None): + self._previous_sso_logout_url_value = None + self._previous_sso_logout_url_present = False + self._new_sso_logout_url_value = None + self._new_sso_logout_url_present = False + if previous_sso_logout_url is not None: + self.previous_sso_logout_url = previous_sso_logout_url + if new_sso_logout_url is not None: + self.new_sso_logout_url = new_sso_logout_url + + @property + def previous_sso_logout_url(self): + """ + Previous single sign-on logout URL. + + :rtype: str + """ + if self._previous_sso_logout_url_present: + return self._previous_sso_logout_url_value + else: + raise AttributeError("missing required field 'previous_sso_logout_url'") + + @previous_sso_logout_url.setter + def previous_sso_logout_url(self, val): + val = self._previous_sso_logout_url_validator.validate(val) + self._previous_sso_logout_url_value = val + self._previous_sso_logout_url_present = True + + @previous_sso_logout_url.deleter + def previous_sso_logout_url(self): + self._previous_sso_logout_url_value = None + self._previous_sso_logout_url_present = False + + @property + def new_sso_logout_url(self): + """ + New single sign-on logout URL. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._new_sso_logout_url_present: + return self._new_sso_logout_url_value + else: + return None + + @new_sso_logout_url.setter + def new_sso_logout_url(self, val): + if val is None: + del self.new_sso_logout_url + return + val = self._new_sso_logout_url_validator.validate(val) + self._new_sso_logout_url_value = val + self._new_sso_logout_url_present = True + + @new_sso_logout_url.deleter + def new_sso_logout_url(self): + self._new_sso_logout_url_value = None + self._new_sso_logout_url_present = False + + def __repr__(self): + return 'SsoChangeLogoutUrlDetails(previous_sso_logout_url={!r}, new_sso_logout_url={!r})'.format( + self._previous_sso_logout_url_value, + self._new_sso_logout_url_value, + ) + +SsoChangeLogoutUrlDetails_validator = bv.Struct(SsoChangeLogoutUrlDetails) + +class SsoChangePolicyDetails(object): + """ + Change the single sign-on policy for the team. + + :ivar new_value: New single sign-on policy. + :ivar previous_value: Previous single sign-on policy. Might be missing due + to historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New single sign-on policy. + + :rtype: OptionalChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous single sign-on policy. Might be missing due to historical data + gap. + + :rtype: OptionalChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'SsoChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SsoChangePolicyDetails_validator = bv.Struct(SsoChangePolicyDetails) + +class SsoChangeSamlIdentityModeDetails(object): + """ + Changed the SAML identity mode for SSO. + + :ivar previous_saml_identity_mode: Previous single sign-on identity mode. + :ivar new_saml_identity_mode: New single sign-on identity mode. + """ + + __slots__ = [ + '_previous_saml_identity_mode_value', + '_previous_saml_identity_mode_present', + '_new_saml_identity_mode_value', + '_new_saml_identity_mode_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_saml_identity_mode=None, + new_saml_identity_mode=None): + self._previous_saml_identity_mode_value = None + self._previous_saml_identity_mode_present = False + self._new_saml_identity_mode_value = None + self._new_saml_identity_mode_present = False + if previous_saml_identity_mode is not None: + self.previous_saml_identity_mode = previous_saml_identity_mode + if new_saml_identity_mode is not None: + self.new_saml_identity_mode = new_saml_identity_mode + + @property + def previous_saml_identity_mode(self): + """ + Previous single sign-on identity mode. + + :rtype: long + """ + if self._previous_saml_identity_mode_present: + return self._previous_saml_identity_mode_value + else: + raise AttributeError("missing required field 'previous_saml_identity_mode'") + + @previous_saml_identity_mode.setter + def previous_saml_identity_mode(self, val): + val = self._previous_saml_identity_mode_validator.validate(val) + self._previous_saml_identity_mode_value = val + self._previous_saml_identity_mode_present = True + + @previous_saml_identity_mode.deleter + def previous_saml_identity_mode(self): + self._previous_saml_identity_mode_value = None + self._previous_saml_identity_mode_present = False + + @property + def new_saml_identity_mode(self): + """ + New single sign-on identity mode. + + :rtype: long + """ + if self._new_saml_identity_mode_present: + return self._new_saml_identity_mode_value + else: + raise AttributeError("missing required field 'new_saml_identity_mode'") + + @new_saml_identity_mode.setter + def new_saml_identity_mode(self, val): + val = self._new_saml_identity_mode_validator.validate(val) + self._new_saml_identity_mode_value = val + self._new_saml_identity_mode_present = True + + @new_saml_identity_mode.deleter + def new_saml_identity_mode(self): + self._new_saml_identity_mode_value = None + self._new_saml_identity_mode_present = False + + def __repr__(self): + return 'SsoChangeSamlIdentityModeDetails(previous_saml_identity_mode={!r}, new_saml_identity_mode={!r})'.format( + self._previous_saml_identity_mode_value, + self._new_saml_identity_mode_value, + ) + +SsoChangeSamlIdentityModeDetails_validator = bv.Struct(SsoChangeSamlIdentityModeDetails) + +class SsoLoginFailDetails(object): + """ + Failed to sign in using SSO. + + :ivar system_message: A technical description of the error. + :ivar admin_message: A user friendly description of the error. + """ + + __slots__ = [ + '_system_message_value', + '_system_message_present', + '_admin_message_value', + '_admin_message_present', + ] + + _has_required_fields = True + + def __init__(self, + system_message=None, + admin_message=None): + self._system_message_value = None + self._system_message_present = False + self._admin_message_value = None + self._admin_message_present = False + if system_message is not None: + self.system_message = system_message + if admin_message is not None: + self.admin_message = admin_message + + @property + def system_message(self): + """ + A technical description of the error. + + :rtype: str + """ + if self._system_message_present: + return self._system_message_value + else: + raise AttributeError("missing required field 'system_message'") + + @system_message.setter + def system_message(self, val): + val = self._system_message_validator.validate(val) + self._system_message_value = val + self._system_message_present = True + + @system_message.deleter + def system_message(self): + self._system_message_value = None + self._system_message_present = False + + @property + def admin_message(self): + """ + A user friendly description of the error. + + :rtype: str + """ + if self._admin_message_present: + return self._admin_message_value + else: + raise AttributeError("missing required field 'admin_message'") + + @admin_message.setter + def admin_message(self, val): + val = self._admin_message_validator.validate(val) + self._admin_message_value = val + self._admin_message_present = True + + @admin_message.deleter + def admin_message(self): + self._admin_message_value = None + self._admin_message_present = False + + def __repr__(self): + return 'SsoLoginFailDetails(system_message={!r}, admin_message={!r})'.format( + self._system_message_value, + self._admin_message_value, + ) + +SsoLoginFailDetails_validator = bv.Struct(SsoLoginFailDetails) + +class TeamActivityCreateReportDetails(object): + """ + Created a team activity report. + + :ivar start_date: Report start date. + :ivar end_date: Report end date. + """ + + __slots__ = [ + '_start_date_value', + '_start_date_present', + '_end_date_value', + '_end_date_present', + ] + + _has_required_fields = True + + def __init__(self, + start_date=None, + end_date=None): + self._start_date_value = None + self._start_date_present = False + self._end_date_value = None + self._end_date_present = False + if start_date is not None: + self.start_date = start_date + if end_date is not None: + self.end_date = end_date + + @property + def start_date(self): + """ + Report start date. + + :rtype: str + """ + if self._start_date_present: + return self._start_date_value + else: + raise AttributeError("missing required field 'start_date'") + + @start_date.setter + def start_date(self, val): + val = self._start_date_validator.validate(val) + self._start_date_value = val + self._start_date_present = True + + @start_date.deleter + def start_date(self): + self._start_date_value = None + self._start_date_present = False + + @property + def end_date(self): + """ + Report end date. + + :rtype: str + """ + if self._end_date_present: + return self._end_date_value + else: + raise AttributeError("missing required field 'end_date'") + + @end_date.setter + def end_date(self, val): + val = self._end_date_validator.validate(val) + self._end_date_value = val + self._end_date_present = True + + @end_date.deleter + def end_date(self): + self._end_date_value = None + self._end_date_present = False + + def __repr__(self): + return 'TeamActivityCreateReportDetails(start_date={!r}, end_date={!r})'.format( + self._start_date_value, + self._end_date_value, + ) + +TeamActivityCreateReportDetails_validator = bv.Struct(TeamActivityCreateReportDetails) + +class TeamEvent(object): + """ + An audit log event. + + :ivar timestamp: The Dropbox timestamp representing when the action was + taken. + :ivar event_categories: One or more categories that this type of action + belongs to. + :ivar actor: The entity who actually performed the action. + :ivar origin: The origin from which the actor performed the action including + information about host, ip address, location, session, etc. If the + action was performed programmatically via the API the origin represents + the API client. + :ivar participants: Zero or more users and/or groups that are affected by + the action. Note that this list doesn't include any actors or users in + context. + :ivar assets: Zero or more content assets involved in the action. Currently + these include Dropbox files and folders but in the future we might add + other asset types such as Paper documents, folders, projects, etc. + :ivar involve_non_team_member: True if the action involved a non team member + either as the actor or as one of the affected users. + :ivar context: The user or team on whose behalf the actor performed the + action. + :ivar event_type: The particular type of action taken. + :ivar details: The variable event schema applicable to this type of action, + instantiated with respect to this particular action. + """ + + __slots__ = [ + '_timestamp_value', + '_timestamp_present', + '_event_categories_value', + '_event_categories_present', + '_actor_value', + '_actor_present', + '_origin_value', + '_origin_present', + '_participants_value', + '_participants_present', + '_assets_value', + '_assets_present', + '_involve_non_team_member_value', + '_involve_non_team_member_present', + '_context_value', + '_context_present', + '_event_type_value', + '_event_type_present', + '_details_value', + '_details_present', + ] + + _has_required_fields = True + + def __init__(self, + timestamp=None, + event_categories=None, + actor=None, + involve_non_team_member=None, + context=None, + event_type=None, + details=None, + origin=None, + participants=None, + assets=None): + self._timestamp_value = None + self._timestamp_present = False + self._event_categories_value = None + self._event_categories_present = False + self._actor_value = None + self._actor_present = False + self._origin_value = None + self._origin_present = False + self._participants_value = None + self._participants_present = False + self._assets_value = None + self._assets_present = False + self._involve_non_team_member_value = None + self._involve_non_team_member_present = False + self._context_value = None + self._context_present = False + self._event_type_value = None + self._event_type_present = False + self._details_value = None + self._details_present = False + if timestamp is not None: + self.timestamp = timestamp + if event_categories is not None: + self.event_categories = event_categories + if actor is not None: + self.actor = actor + if origin is not None: + self.origin = origin + if participants is not None: + self.participants = participants + if assets is not None: + self.assets = assets + if involve_non_team_member is not None: + self.involve_non_team_member = involve_non_team_member + if context is not None: + self.context = context + if event_type is not None: + self.event_type = event_type + if details is not None: + self.details = details + + @property + def timestamp(self): + """ + The Dropbox timestamp representing when the action was taken. + + :rtype: datetime.datetime + """ + if self._timestamp_present: + return self._timestamp_value + else: + raise AttributeError("missing required field 'timestamp'") + + @timestamp.setter + def timestamp(self, val): + val = self._timestamp_validator.validate(val) + self._timestamp_value = val + self._timestamp_present = True + + @timestamp.deleter + def timestamp(self): + self._timestamp_value = None + self._timestamp_present = False + + @property + def event_categories(self): + """ + One or more categories that this type of action belongs to. + + :rtype: list of [EventCategory] + """ + if self._event_categories_present: + return self._event_categories_value + else: + raise AttributeError("missing required field 'event_categories'") + + @event_categories.setter + def event_categories(self, val): + val = self._event_categories_validator.validate(val) + self._event_categories_value = val + self._event_categories_present = True + + @event_categories.deleter + def event_categories(self): + self._event_categories_value = None + self._event_categories_present = False + + @property + def actor(self): + """ + The entity who actually performed the action. + + :rtype: ActorLogInfo + """ + if self._actor_present: + return self._actor_value + else: + raise AttributeError("missing required field 'actor'") + + @actor.setter + def actor(self, val): + self._actor_validator.validate_type_only(val) + self._actor_value = val + self._actor_present = True + + @actor.deleter + def actor(self): + self._actor_value = None + self._actor_present = False + + @property + def origin(self): + """ + The origin from which the actor performed the action including + information about host, ip address, location, session, etc. If the + action was performed programmatically via the API the origin represents + the API client. + + :rtype: OriginLogInfo + """ + if self._origin_present: + return self._origin_value + else: + return None + + @origin.setter + def origin(self, val): + if val is None: + del self.origin + return + self._origin_validator.validate_type_only(val) + self._origin_value = val + self._origin_present = True + + @origin.deleter + def origin(self): + self._origin_value = None + self._origin_present = False + + @property + def participants(self): + """ + Zero or more users and/or groups that are affected by the action. Note + that this list doesn't include any actors or users in context. + + :rtype: list of [ParticipantLogInfo] + """ + if self._participants_present: + return self._participants_value + else: + return None + + @participants.setter + def participants(self, val): + if val is None: + del self.participants + return + val = self._participants_validator.validate(val) + self._participants_value = val + self._participants_present = True + + @participants.deleter + def participants(self): + self._participants_value = None + self._participants_present = False + + @property + def assets(self): + """ + Zero or more content assets involved in the action. Currently these + include Dropbox files and folders but in the future we might add other + asset types such as Paper documents, folders, projects, etc. + + :rtype: list of [AssetLogInfo] + """ + if self._assets_present: + return self._assets_value + else: + return None + + @assets.setter + def assets(self, val): + if val is None: + del self.assets + return + val = self._assets_validator.validate(val) + self._assets_value = val + self._assets_present = True + + @assets.deleter + def assets(self): + self._assets_value = None + self._assets_present = False + + @property + def involve_non_team_member(self): + """ + True if the action involved a non team member either as the actor or as + one of the affected users. + + :rtype: bool + """ + if self._involve_non_team_member_present: + return self._involve_non_team_member_value + else: + raise AttributeError("missing required field 'involve_non_team_member'") + + @involve_non_team_member.setter + def involve_non_team_member(self, val): + val = self._involve_non_team_member_validator.validate(val) + self._involve_non_team_member_value = val + self._involve_non_team_member_present = True + + @involve_non_team_member.deleter + def involve_non_team_member(self): + self._involve_non_team_member_value = None + self._involve_non_team_member_present = False + + @property + def context(self): + """ + The user or team on whose behalf the actor performed the action. + + :rtype: ContextLogInfo + """ + if self._context_present: + return self._context_value + else: + raise AttributeError("missing required field 'context'") + + @context.setter + def context(self, val): + self._context_validator.validate_type_only(val) + self._context_value = val + self._context_present = True + + @context.deleter + def context(self): + self._context_value = None + self._context_present = False + + @property + def event_type(self): + """ + The particular type of action taken. + + :rtype: EventType + """ + if self._event_type_present: + return self._event_type_value + else: + raise AttributeError("missing required field 'event_type'") + + @event_type.setter + def event_type(self, val): + self._event_type_validator.validate_type_only(val) + self._event_type_value = val + self._event_type_present = True + + @event_type.deleter + def event_type(self): + self._event_type_value = None + self._event_type_present = False + + @property + def details(self): + """ + The variable event schema applicable to this type of action, + instantiated with respect to this particular action. + + :rtype: EventDetails + """ + if self._details_present: + return self._details_value + else: + raise AttributeError("missing required field 'details'") + + @details.setter + def details(self, val): + self._details_validator.validate_type_only(val) + self._details_value = val + self._details_present = True + + @details.deleter + def details(self): + self._details_value = None + self._details_present = False + + def __repr__(self): + return 'TeamEvent(timestamp={!r}, event_categories={!r}, actor={!r}, involve_non_team_member={!r}, context={!r}, event_type={!r}, details={!r}, origin={!r}, participants={!r}, assets={!r})'.format( + self._timestamp_value, + self._event_categories_value, + self._actor_value, + self._involve_non_team_member_value, + self._context_value, + self._event_type_value, + self._details_value, + self._origin_value, + self._participants_value, + self._assets_value, + ) + +TeamEvent_validator = bv.Struct(TeamEvent) + +class TeamFolderChangeStatusDetails(object): + """ + Changed the archival status of a team folder. + + :ivar new_status: New team folder status. + :ivar previous_status: Previous team folder status. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_status_value', + '_new_status_present', + '_previous_status_value', + '_previous_status_present', + ] + + _has_required_fields = True + + def __init__(self, + new_status=None, + previous_status=None): + self._new_status_value = None + self._new_status_present = False + self._previous_status_value = None + self._previous_status_present = False + if new_status is not None: + self.new_status = new_status + if previous_status is not None: + self.previous_status = previous_status + + @property + def new_status(self): + """ + New team folder status. + + :rtype: TeamFolderStatus + """ + if self._new_status_present: + return self._new_status_value + else: + raise AttributeError("missing required field 'new_status'") + + @new_status.setter + def new_status(self, val): + self._new_status_validator.validate_type_only(val) + self._new_status_value = val + self._new_status_present = True + + @new_status.deleter + def new_status(self): + self._new_status_value = None + self._new_status_present = False + + @property + def previous_status(self): + """ + Previous team folder status. Might be missing due to historical data + gap. + + :rtype: TeamFolderStatus + """ + if self._previous_status_present: + return self._previous_status_value + else: + return None + + @previous_status.setter + def previous_status(self, val): + if val is None: + del self.previous_status + return + self._previous_status_validator.validate_type_only(val) + self._previous_status_value = val + self._previous_status_present = True + + @previous_status.deleter + def previous_status(self): + self._previous_status_value = None + self._previous_status_present = False + + def __repr__(self): + return 'TeamFolderChangeStatusDetails(new_status={!r}, previous_status={!r})'.format( + self._new_status_value, + self._previous_status_value, + ) + +TeamFolderChangeStatusDetails_validator = bv.Struct(TeamFolderChangeStatusDetails) + +class TeamFolderCreateDetails(object): + """ + Created a new team folder in active status. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TeamFolderCreateDetails()' + +TeamFolderCreateDetails_validator = bv.Struct(TeamFolderCreateDetails) + +class TeamFolderDowngradeDetails(object): + """ + Downgraded a team folder to a regular shared folder. + + :ivar target_index: Target asset index. + """ + + __slots__ = [ + '_target_index_value', + '_target_index_present', + ] + + _has_required_fields = True + + def __init__(self, + target_index=None): + self._target_index_value = None + self._target_index_present = False + if target_index is not None: + self.target_index = target_index + + @property + def target_index(self): + """ + Target asset index. + + :rtype: long + """ + if self._target_index_present: + return self._target_index_value + else: + raise AttributeError("missing required field 'target_index'") + + @target_index.setter + def target_index(self, val): + val = self._target_index_validator.validate(val) + self._target_index_value = val + self._target_index_present = True + + @target_index.deleter + def target_index(self): + self._target_index_value = None + self._target_index_present = False + + def __repr__(self): + return 'TeamFolderDowngradeDetails(target_index={!r})'.format( + self._target_index_value, + ) + +TeamFolderDowngradeDetails_validator = bv.Struct(TeamFolderDowngradeDetails) + +class TeamFolderPermanentlyDeleteDetails(object): + """ + Permanently deleted an archived team folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TeamFolderPermanentlyDeleteDetails()' + +TeamFolderPermanentlyDeleteDetails_validator = bv.Struct(TeamFolderPermanentlyDeleteDetails) + +class TeamFolderRenameDetails(object): + """ + Renamed an active or archived team folder. + + :ivar src_index: Source asset index. + :ivar dest_index: Destination asset index. + """ + + __slots__ = [ + '_src_index_value', + '_src_index_present', + '_dest_index_value', + '_dest_index_present', + ] + + _has_required_fields = True + + def __init__(self, + src_index=None, + dest_index=None): + self._src_index_value = None + self._src_index_present = False + self._dest_index_value = None + self._dest_index_present = False + if src_index is not None: + self.src_index = src_index + if dest_index is not None: + self.dest_index = dest_index + + @property + def src_index(self): + """ + Source asset index. + + :rtype: long + """ + if self._src_index_present: + return self._src_index_value + else: + raise AttributeError("missing required field 'src_index'") + + @src_index.setter + def src_index(self, val): + val = self._src_index_validator.validate(val) + self._src_index_value = val + self._src_index_present = True + + @src_index.deleter + def src_index(self): + self._src_index_value = None + self._src_index_present = False + + @property + def dest_index(self): + """ + Destination asset index. + + :rtype: long + """ + if self._dest_index_present: + return self._dest_index_value + else: + raise AttributeError("missing required field 'dest_index'") + + @dest_index.setter + def dest_index(self, val): + val = self._dest_index_validator.validate(val) + self._dest_index_value = val + self._dest_index_present = True + + @dest_index.deleter + def dest_index(self): + self._dest_index_value = None + self._dest_index_present = False + + def __repr__(self): + return 'TeamFolderRenameDetails(src_index={!r}, dest_index={!r})'.format( + self._src_index_value, + self._dest_index_value, + ) + +TeamFolderRenameDetails_validator = bv.Struct(TeamFolderRenameDetails) + +class TeamFolderStatus(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + archive = None + # Attribute is overwritten below the class definition + unarchive = None + # Attribute is overwritten below the class definition + other = None + + def is_archive(self): + """ + Check if the union tag is ``archive``. + + :rtype: bool + """ + return self._tag == 'archive' + + def is_unarchive(self): + """ + Check if the union tag is ``unarchive``. + + :rtype: bool + """ + return self._tag == 'unarchive' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'TeamFolderStatus(%r, %r)' % (self._tag, self._value) + +TeamFolderStatus_validator = bv.Union(TeamFolderStatus) + +class TeamLinkedAppLogInfo(AppLogInfo): + """ + Team linked app + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + app_id=None, + display_name=None): + super(TeamLinkedAppLogInfo, self).__init__(app_id, + display_name) + + def __repr__(self): + return 'TeamLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( + self._app_id_value, + self._display_name_value, + ) + +TeamLinkedAppLogInfo_validator = bv.Struct(TeamLinkedAppLogInfo) + +class TeamMemberLogInfo(UserLogInfo): + """ + Team member's logged information. + + :ivar team_member_id: Team member ID. Might be missing due to historical + data gap. + :ivar member_external_id: Team member external ID. + """ + + __slots__ = [ + '_team_member_id_value', + '_team_member_id_present', + '_member_external_id_value', + '_member_external_id_present', + ] + + _has_required_fields = False + + def __init__(self, + account_id=None, + display_name=None, + email=None, + team_member_id=None, + member_external_id=None): + super(TeamMemberLogInfo, self).__init__(account_id, + display_name, + email) + self._team_member_id_value = None + self._team_member_id_present = False + self._member_external_id_value = None + self._member_external_id_present = False + if team_member_id is not None: + self.team_member_id = team_member_id + if member_external_id is not None: + self.member_external_id = member_external_id + + @property + def team_member_id(self): + """ + Team member ID. Might be missing due to historical data gap. + + :rtype: str + """ + if self._team_member_id_present: + return self._team_member_id_value + else: + return None + + @team_member_id.setter + def team_member_id(self, val): + if val is None: + del self.team_member_id + return + val = self._team_member_id_validator.validate(val) + self._team_member_id_value = val + self._team_member_id_present = True + + @team_member_id.deleter + def team_member_id(self): + self._team_member_id_value = None + self._team_member_id_present = False + + @property + def member_external_id(self): + """ + Team member external ID. + + :rtype: str + """ + if self._member_external_id_present: + return self._member_external_id_value + else: + return None + + @member_external_id.setter + def member_external_id(self, val): + if val is None: + del self.member_external_id + return + val = self._member_external_id_validator.validate(val) + self._member_external_id_value = val + self._member_external_id_present = True + + @member_external_id.deleter + def member_external_id(self): + self._member_external_id_value = None + self._member_external_id_present = False + + def __repr__(self): + return 'TeamMemberLogInfo(account_id={!r}, display_name={!r}, email={!r}, team_member_id={!r}, member_external_id={!r})'.format( + self._account_id_value, + self._display_name_value, + self._email_value, + self._team_member_id_value, + self._member_external_id_value, + ) + +TeamMemberLogInfo_validator = bv.Struct(TeamMemberLogInfo) + +class TeamMergeDetails(object): + """ + Merged the team into another team. + + :ivar merged_from_team_name: Merged from team name. Might be missing due to + historical data gap. + :ivar merged_to_team_name: Merged to team name. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_merged_from_team_name_value', + '_merged_from_team_name_present', + '_merged_to_team_name_value', + '_merged_to_team_name_present', + ] + + _has_required_fields = False + + def __init__(self, + merged_from_team_name=None, + merged_to_team_name=None): + self._merged_from_team_name_value = None + self._merged_from_team_name_present = False + self._merged_to_team_name_value = None + self._merged_to_team_name_present = False + if merged_from_team_name is not None: + self.merged_from_team_name = merged_from_team_name + if merged_to_team_name is not None: + self.merged_to_team_name = merged_to_team_name + + @property + def merged_from_team_name(self): + """ + Merged from team name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._merged_from_team_name_present: + return self._merged_from_team_name_value + else: + return None + + @merged_from_team_name.setter + def merged_from_team_name(self, val): + if val is None: + del self.merged_from_team_name + return + val = self._merged_from_team_name_validator.validate(val) + self._merged_from_team_name_value = val + self._merged_from_team_name_present = True + + @merged_from_team_name.deleter + def merged_from_team_name(self): + self._merged_from_team_name_value = None + self._merged_from_team_name_present = False + + @property + def merged_to_team_name(self): + """ + Merged to team name. Might be missing due to historical data gap. + + :rtype: str + """ + if self._merged_to_team_name_present: + return self._merged_to_team_name_value + else: + return None + + @merged_to_team_name.setter + def merged_to_team_name(self, val): + if val is None: + del self.merged_to_team_name + return + val = self._merged_to_team_name_validator.validate(val) + self._merged_to_team_name_value = val + self._merged_to_team_name_present = True + + @merged_to_team_name.deleter + def merged_to_team_name(self): + self._merged_to_team_name_value = None + self._merged_to_team_name_present = False + + def __repr__(self): + return 'TeamMergeDetails(merged_from_team_name={!r}, merged_to_team_name={!r})'.format( + self._merged_from_team_name_value, + self._merged_to_team_name_value, + ) + +TeamMergeDetails_validator = bv.Struct(TeamMergeDetails) + +class TeamProfileAddLogoDetails(object): + """ + Added a team logo to be displayed on shared link headers. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TeamProfileAddLogoDetails()' + +TeamProfileAddLogoDetails_validator = bv.Struct(TeamProfileAddLogoDetails) + +class TeamProfileChangeLogoDetails(object): + """ + Changed the team logo to be displayed on shared link headers. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TeamProfileChangeLogoDetails()' + +TeamProfileChangeLogoDetails_validator = bv.Struct(TeamProfileChangeLogoDetails) + +class TeamProfileChangeNameDetails(object): + """ + Changed the team name. + + :ivar team_display_name: Team's display name. + :ivar team_legal_name: Team's legal name. + """ + + __slots__ = [ + '_team_display_name_value', + '_team_display_name_present', + '_team_legal_name_value', + '_team_legal_name_present', + ] + + _has_required_fields = True + + def __init__(self, + team_display_name=None, + team_legal_name=None): + self._team_display_name_value = None + self._team_display_name_present = False + self._team_legal_name_value = None + self._team_legal_name_present = False + if team_display_name is not None: + self.team_display_name = team_display_name + if team_legal_name is not None: + self.team_legal_name = team_legal_name + + @property + def team_display_name(self): + """ + Team's display name. + + :rtype: str + """ + if self._team_display_name_present: + return self._team_display_name_value + else: + raise AttributeError("missing required field 'team_display_name'") + + @team_display_name.setter + def team_display_name(self, val): + val = self._team_display_name_validator.validate(val) + self._team_display_name_value = val + self._team_display_name_present = True + + @team_display_name.deleter + def team_display_name(self): + self._team_display_name_value = None + self._team_display_name_present = False + + @property + def team_legal_name(self): + """ + Team's legal name. + + :rtype: str + """ + if self._team_legal_name_present: + return self._team_legal_name_value + else: + raise AttributeError("missing required field 'team_legal_name'") + + @team_legal_name.setter + def team_legal_name(self, val): + val = self._team_legal_name_validator.validate(val) + self._team_legal_name_value = val + self._team_legal_name_present = True + + @team_legal_name.deleter + def team_legal_name(self): + self._team_legal_name_value = None + self._team_legal_name_present = False + + def __repr__(self): + return 'TeamProfileChangeNameDetails(team_display_name={!r}, team_legal_name={!r})'.format( + self._team_display_name_value, + self._team_legal_name_value, + ) + +TeamProfileChangeNameDetails_validator = bv.Struct(TeamProfileChangeNameDetails) + +class TeamProfileRemoveLogoDetails(object): + """ + Removed the team logo to be displayed on shared link headers. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TeamProfileRemoveLogoDetails()' + +TeamProfileRemoveLogoDetails_validator = bv.Struct(TeamProfileRemoveLogoDetails) + +class TfaAddBackupPhoneDetails(object): + """ + Added a backup phone for two-step verification. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaAddBackupPhoneDetails()' + +TfaAddBackupPhoneDetails_validator = bv.Struct(TfaAddBackupPhoneDetails) + +class TfaAddSecurityKeyDetails(object): + """ + Added a security key for two-step verification. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaAddSecurityKeyDetails()' + +TfaAddSecurityKeyDetails_validator = bv.Struct(TfaAddSecurityKeyDetails) + +class TfaChangeBackupPhoneDetails(object): + """ + Changed the backup phone for two-step verification. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaChangeBackupPhoneDetails()' + +TfaChangeBackupPhoneDetails_validator = bv.Struct(TfaChangeBackupPhoneDetails) + +class TfaChangePolicyDetails(object): + """ + Change two-step verification policy for the team. + + :ivar new_value: New change policy. + :ivar previous_value: Previous change policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New change policy. + + :rtype: OptionalChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous change policy. Might be missing due to historical data gap. + + :rtype: OptionalChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'TfaChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +TfaChangePolicyDetails_validator = bv.Struct(TfaChangePolicyDetails) + +class TfaChangeStatusDetails(object): + """ + Enabled, disabled or changed the configuration for two-step verification. + + :ivar new_value: The new two factor authentication configuration. + :ivar previous_value: The previous two factor authentication configuration. + Might be missing due to historical data gap. + :ivar used_rescue_code: Used two factor authentication code. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + '_used_rescue_code_value', + '_used_rescue_code_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None, + used_rescue_code=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + self._used_rescue_code_value = None + self._used_rescue_code_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + if used_rescue_code is not None: + self.used_rescue_code = used_rescue_code + + @property + def new_value(self): + """ + The new two factor authentication configuration. + + :rtype: TfaConfiguration + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + The previous two factor authentication configuration. Might be missing + due to historical data gap. + + :rtype: TfaConfiguration + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + @property + def used_rescue_code(self): + """ + Used two factor authentication code. + + :rtype: bool + """ + if self._used_rescue_code_present: + return self._used_rescue_code_value + else: + return None + + @used_rescue_code.setter + def used_rescue_code(self, val): + if val is None: + del self.used_rescue_code + return + val = self._used_rescue_code_validator.validate(val) + self._used_rescue_code_value = val + self._used_rescue_code_present = True + + @used_rescue_code.deleter + def used_rescue_code(self): + self._used_rescue_code_value = None + self._used_rescue_code_present = False + + def __repr__(self): + return 'TfaChangeStatusDetails(new_value={!r}, previous_value={!r}, used_rescue_code={!r})'.format( + self._new_value_value, + self._previous_value_value, + self._used_rescue_code_value, + ) + +TfaChangeStatusDetails_validator = bv.Struct(TfaChangeStatusDetails) + +class TfaConfiguration(bb.Union): + """ + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + enabled = None + # Attribute is overwritten below the class definition + sms = None + # Attribute is overwritten below the class definition + authenticator = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_enabled(self): + """ + Check if the union tag is ``enabled``. + + :rtype: bool + """ + return self._tag == 'enabled' + + def is_sms(self): + """ + Check if the union tag is ``sms``. + + :rtype: bool + """ + return self._tag == 'sms' + + def is_authenticator(self): + """ + Check if the union tag is ``authenticator``. + + :rtype: bool + """ + return self._tag == 'authenticator' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def __repr__(self): + return 'TfaConfiguration(%r, %r)' % (self._tag, self._value) + +TfaConfiguration_validator = bv.Union(TfaConfiguration) + +class TfaRemoveBackupPhoneDetails(object): + """ + Removed the backup phone for two-step verification. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaRemoveBackupPhoneDetails()' + +TfaRemoveBackupPhoneDetails_validator = bv.Struct(TfaRemoveBackupPhoneDetails) + +class TfaRemoveSecurityKeyDetails(object): + """ + Removed a security key for two-step verification. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaRemoveSecurityKeyDetails()' + +TfaRemoveSecurityKeyDetails_validator = bv.Struct(TfaRemoveSecurityKeyDetails) + +class TfaResetDetails(object): + """ + Reset two-step verification for team member. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def __repr__(self): + return 'TfaResetDetails()' + +TfaResetDetails_validator = bv.Struct(TfaResetDetails) + +class TwoAccountChangePolicyDetails(object): + """ + Enabled or disabled the option for team members to link a personal Dropbox + account in addition to their work account to the same computer. + + :ivar new_value: New two account policy. + :ivar previous_value: Previous two account policy. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New two account policy. + + :rtype: EnableDisableChangePolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous two account policy. Might be missing due to historical data + gap. + + :rtype: EnableDisableChangePolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + return None + + @previous_value.setter + def previous_value(self, val): + if val is None: + del self.previous_value + return + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'TwoAccountChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +TwoAccountChangePolicyDetails_validator = bv.Struct(TwoAccountChangePolicyDetails) + +class UserLinkedAppLogInfo(AppLogInfo): + """ + User linked app + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + app_id=None, + display_name=None): + super(UserLinkedAppLogInfo, self).__init__(app_id, + display_name) + + def __repr__(self): + return 'UserLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( + self._app_id_value, + self._display_name_value, + ) + +UserLinkedAppLogInfo_validator = bv.Struct(UserLinkedAppLogInfo) + +class UserNameLogInfo(object): + """ + User's name logged information + + :ivar given_name: Given name. + :ivar surname: Surname. + :ivar locale: Locale. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_given_name_value', + '_given_name_present', + '_surname_value', + '_surname_present', + '_locale_value', + '_locale_present', + ] + + _has_required_fields = True + + def __init__(self, + given_name=None, + surname=None, + locale=None): + self._given_name_value = None + self._given_name_present = False + self._surname_value = None + self._surname_present = False + self._locale_value = None + self._locale_present = False + if given_name is not None: + self.given_name = given_name + if surname is not None: + self.surname = surname + if locale is not None: + self.locale = locale + + @property + def given_name(self): + """ + Given name. + + :rtype: str + """ + if self._given_name_present: + return self._given_name_value + else: + raise AttributeError("missing required field 'given_name'") + + @given_name.setter + def given_name(self, val): + val = self._given_name_validator.validate(val) + self._given_name_value = val + self._given_name_present = True + + @given_name.deleter + def given_name(self): + self._given_name_value = None + self._given_name_present = False + + @property + def surname(self): + """ + Surname. + + :rtype: str + """ + if self._surname_present: + return self._surname_value + else: + raise AttributeError("missing required field 'surname'") + + @surname.setter + def surname(self, val): + val = self._surname_validator.validate(val) + self._surname_value = val + self._surname_present = True + + @surname.deleter + def surname(self): + self._surname_value = None + self._surname_present = False + + @property + def locale(self): + """ + Locale. Might be missing due to historical data gap. + + :rtype: str + """ + if self._locale_present: + return self._locale_value + else: + return None + + @locale.setter + def locale(self, val): + if val is None: + del self.locale + return + val = self._locale_validator.validate(val) + self._locale_value = val + self._locale_present = True + + @locale.deleter + def locale(self): + self._locale_value = None + self._locale_present = False + + def __repr__(self): + return 'UserNameLogInfo(given_name={!r}, surname={!r}, locale={!r})'.format( + self._given_name_value, + self._surname_value, + self._locale_value, + ) + +UserNameLogInfo_validator = bv.Struct(UserNameLogInfo) + +class UserOrTeamLinkedAppLogInfo(AppLogInfo): + """ + User or team linked app. Used when linked type is missing due to historical + data gap. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + app_id=None, + display_name=None): + super(UserOrTeamLinkedAppLogInfo, self).__init__(app_id, + display_name) + + def __repr__(self): + return 'UserOrTeamLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( + self._app_id_value, + self._display_name_value, + ) + +UserOrTeamLinkedAppLogInfo_validator = bv.Struct(UserOrTeamLinkedAppLogInfo) + +class WebSessionLogInfo(SessionLogInfo): + """ + Web session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self, + session_id=None): + super(WebSessionLogInfo, self).__init__(session_id) + + def __repr__(self): + return 'WebSessionLogInfo(session_id={!r})'.format( + self._session_id_value, + ) + +WebSessionLogInfo_validator = bv.Struct(WebSessionLogInfo) + +class WebSessionsChangeFixedLengthPolicyDetails(object): + """ + Changed how long team members can stay signed in to Dropbox on the web. + + :ivar new_value: New session length policy. + :ivar previous_value: Previous session length policy. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New session length policy. + + :rtype: SessionsManagementSessionLengthPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous session length policy. + + :rtype: SessionsManagementSessionLengthPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'WebSessionsChangeFixedLengthPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +WebSessionsChangeFixedLengthPolicyDetails_validator = bv.Struct(WebSessionsChangeFixedLengthPolicyDetails) + +class WebSessionsChangeIdleLengthPolicyDetails(object): + """ + Changed how long team members can be idle while signed in to Dropbox on the + web. + + :ivar new_value: New idle length policy. + :ivar previous_value: Previous idle length policy. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + new_value=None, + previous_value=None): + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if new_value is not None: + self.new_value = new_value + if previous_value is not None: + self.previous_value = previous_value + + @property + def new_value(self): + """ + New idle length policy. + + :rtype: SessionsManagementIdleLengthPolicy + """ + if self._new_value_present: + return self._new_value_value + else: + raise AttributeError("missing required field 'new_value'") + + @new_value.setter + def new_value(self, val): + self._new_value_validator.validate_type_only(val) + self._new_value_value = val + self._new_value_present = True + + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + @property + def previous_value(self): + """ + Previous idle length policy. + + :rtype: SessionsManagementIdleLengthPolicy + """ + if self._previous_value_present: + return self._previous_value_value + else: + raise AttributeError("missing required field 'previous_value'") + + @previous_value.setter + def previous_value(self, val): + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True + + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def __repr__(self): + return 'WebSessionsChangeIdleLengthPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +WebSessionsChangeIdleLengthPolicyDetails_validator = bv.Struct(WebSessionsChangeIdleLengthPolicyDetails) + +AppId_validator = bv.String() +IpAddress_validator = bv.String(pattern=u'^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$') +RequestId_validator = bv.String() +AccessMethodLogInfo._end_user_validator = SessionLogInfo_validator +AccessMethodLogInfo._sign_in_as_validator = WebSessionLogInfo_validator +AccessMethodLogInfo._content_manager_validator = WebSessionLogInfo_validator +AccessMethodLogInfo._admin_console_validator = WebSessionLogInfo_validator +AccessMethodLogInfo._api_validator = ApiSessionLogInfo_validator +AccessMethodLogInfo._other_validator = bv.Void() +AccessMethodLogInfo._tagmap = { + 'end_user': AccessMethodLogInfo._end_user_validator, + 'sign_in_as': AccessMethodLogInfo._sign_in_as_validator, + 'content_manager': AccessMethodLogInfo._content_manager_validator, + 'admin_console': AccessMethodLogInfo._admin_console_validator, + 'api': AccessMethodLogInfo._api_validator, + 'other': AccessMethodLogInfo._other_validator, +} + +AccessMethodLogInfo.other = AccessMethodLogInfo('other') + +AccountCaptureChangeAvailabilityDetails._all_field_names_ = set([]) +AccountCaptureChangeAvailabilityDetails._all_fields_ = [] + +AccountCaptureChangePolicyDetails._new_value_validator = AccountCapturePolicy_validator +AccountCaptureChangePolicyDetails._previous_value_validator = bv.Nullable(AccountCapturePolicy_validator) +AccountCaptureChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +AccountCaptureChangePolicyDetails._all_fields_ = [ + ('new_value', AccountCaptureChangePolicyDetails._new_value_validator), + ('previous_value', AccountCaptureChangePolicyDetails._previous_value_validator), +] + +AccountCaptureMigrateAccountDetails._domain_name_validator = bv.List(bv.String()) +AccountCaptureMigrateAccountDetails._all_field_names_ = set(['domain_name']) +AccountCaptureMigrateAccountDetails._all_fields_ = [('domain_name', AccountCaptureMigrateAccountDetails._domain_name_validator)] + +AccountCapturePolicy._disabled_validator = bv.Void() +AccountCapturePolicy._invited_users_validator = bv.Void() +AccountCapturePolicy._all_users_validator = bv.Void() +AccountCapturePolicy._other_validator = bv.Void() +AccountCapturePolicy._tagmap = { + 'disabled': AccountCapturePolicy._disabled_validator, + 'invited_users': AccountCapturePolicy._invited_users_validator, + 'all_users': AccountCapturePolicy._all_users_validator, + 'other': AccountCapturePolicy._other_validator, +} + +AccountCapturePolicy.disabled = AccountCapturePolicy('disabled') +AccountCapturePolicy.invited_users = AccountCapturePolicy('invited_users') +AccountCapturePolicy.all_users = AccountCapturePolicy('all_users') +AccountCapturePolicy.other = AccountCapturePolicy('other') + +AccountCaptureRelinquishAccountDetails._domain_name_validator = bv.List(bv.String()) +AccountCaptureRelinquishAccountDetails._all_field_names_ = set(['domain_name']) +AccountCaptureRelinquishAccountDetails._all_fields_ = [('domain_name', AccountCaptureRelinquishAccountDetails._domain_name_validator)] + +ActorLogInfo._user_validator = UserLogInfo_validator +ActorLogInfo._admin_validator = UserLogInfo_validator +ActorLogInfo._app_validator = AppLogInfo_validator +ActorLogInfo._reseller_validator = ResellerLogInfo_validator +ActorLogInfo._dropbox_validator = bv.Void() +ActorLogInfo._other_validator = bv.Void() +ActorLogInfo._tagmap = { + 'user': ActorLogInfo._user_validator, + 'admin': ActorLogInfo._admin_validator, + 'app': ActorLogInfo._app_validator, + 'reseller': ActorLogInfo._reseller_validator, + 'dropbox': ActorLogInfo._dropbox_validator, + 'other': ActorLogInfo._other_validator, +} + +ActorLogInfo.dropbox = ActorLogInfo('dropbox') +ActorLogInfo.other = ActorLogInfo('other') + +AllowDownloadDisabledDetails._all_field_names_ = set([]) +AllowDownloadDisabledDetails._all_fields_ = [] + +AllowDownloadEnabledDetails._all_field_names_ = set([]) +AllowDownloadEnabledDetails._all_fields_ = [] + +ApiSessionLogInfo._request_id_validator = RequestId_validator +ApiSessionLogInfo._all_field_names_ = set(['request_id']) +ApiSessionLogInfo._all_fields_ = [('request_id', ApiSessionLogInfo._request_id_validator)] + +AppLinkTeamDetails._app_info_validator = AppLogInfo_validator +AppLinkTeamDetails._all_field_names_ = set(['app_info']) +AppLinkTeamDetails._all_fields_ = [('app_info', AppLinkTeamDetails._app_info_validator)] + +AppLinkUserDetails._app_info_validator = AppLogInfo_validator +AppLinkUserDetails._all_field_names_ = set(['app_info']) +AppLinkUserDetails._all_fields_ = [('app_info', AppLinkUserDetails._app_info_validator)] + +AppLogInfo._app_id_validator = bv.Nullable(AppId_validator) +AppLogInfo._display_name_validator = bv.Nullable(bv.String()) +AppLogInfo._field_names_ = set([ + 'app_id', + 'display_name', +]) +AppLogInfo._all_field_names_ = AppLogInfo._field_names_ +AppLogInfo._fields_ = [ + ('app_id', AppLogInfo._app_id_validator), + ('display_name', AppLogInfo._display_name_validator), +] +AppLogInfo._all_fields_ = AppLogInfo._fields_ + +AppLogInfo._tag_to_subtype_ = { + (u'user_or_team_linked_app',): UserOrTeamLinkedAppLogInfo_validator, + (u'user_linked_app',): UserLinkedAppLogInfo_validator, + (u'team_linked_app',): TeamLinkedAppLogInfo_validator, +} +AppLogInfo._pytype_to_tag_and_subtype_ = { + UserOrTeamLinkedAppLogInfo: ((u'user_or_team_linked_app',), UserOrTeamLinkedAppLogInfo_validator), + UserLinkedAppLogInfo: ((u'user_linked_app',), UserLinkedAppLogInfo_validator), + TeamLinkedAppLogInfo: ((u'team_linked_app',), TeamLinkedAppLogInfo_validator), +} +AppLogInfo._is_catch_all_ = True + +AppUnlinkTeamDetails._app_info_validator = AppLogInfo_validator +AppUnlinkTeamDetails._all_field_names_ = set(['app_info']) +AppUnlinkTeamDetails._all_fields_ = [('app_info', AppUnlinkTeamDetails._app_info_validator)] + +AppUnlinkUserDetails._app_info_validator = AppLogInfo_validator +AppUnlinkUserDetails._all_field_names_ = set(['app_info']) +AppUnlinkUserDetails._all_fields_ = [('app_info', AppUnlinkUserDetails._app_info_validator)] + +AssetLogInfo._file_validator = FileLogInfo_validator +AssetLogInfo._folder_validator = FolderLogInfo_validator +AssetLogInfo._paper_document_validator = PaperDocumentLogInfo_validator +AssetLogInfo._paper_folder_validator = PaperFolderLogInfo_validator +AssetLogInfo._other_validator = bv.Void() +AssetLogInfo._tagmap = { + 'file': AssetLogInfo._file_validator, + 'folder': AssetLogInfo._folder_validator, + 'paper_document': AssetLogInfo._paper_document_validator, + 'paper_folder': AssetLogInfo._paper_folder_validator, + 'other': AssetLogInfo._other_validator, +} + +AssetLogInfo.other = AssetLogInfo('other') + +CollectionShareDetails._album_name_validator = bv.String() +CollectionShareDetails._all_field_names_ = set(['album_name']) +CollectionShareDetails._all_fields_ = [('album_name', CollectionShareDetails._album_name_validator)] + +Confidentiality._confidential_validator = bv.Void() +Confidentiality._non_confidential_validator = bv.Void() +Confidentiality._other_validator = bv.Void() +Confidentiality._tagmap = { + 'confidential': Confidentiality._confidential_validator, + 'non_confidential': Confidentiality._non_confidential_validator, + 'other': Confidentiality._other_validator, +} + +Confidentiality.confidential = Confidentiality('confidential') +Confidentiality.non_confidential = Confidentiality('non_confidential') +Confidentiality.other = Confidentiality('other') + +ContextLogInfo._team_member_validator = TeamMemberLogInfo_validator +ContextLogInfo._non_team_member_validator = NonTeamMemberLogInfo_validator +ContextLogInfo._team_validator = bv.Void() +ContextLogInfo._other_validator = bv.Void() +ContextLogInfo._tagmap = { + 'team_member': ContextLogInfo._team_member_validator, + 'non_team_member': ContextLogInfo._non_team_member_validator, + 'team': ContextLogInfo._team_validator, + 'other': ContextLogInfo._other_validator, +} + +ContextLogInfo.team = ContextLogInfo('team') +ContextLogInfo.other = ContextLogInfo('other') + +CreateFolderDetails._all_field_names_ = set([]) +CreateFolderDetails._all_fields_ = [] + +DataPlacementRestrictionChangePolicyDetails._previous_value_validator = PlacementRestriction_validator +DataPlacementRestrictionChangePolicyDetails._new_value_validator = PlacementRestriction_validator +DataPlacementRestrictionChangePolicyDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +DataPlacementRestrictionChangePolicyDetails._all_fields_ = [ + ('previous_value', DataPlacementRestrictionChangePolicyDetails._previous_value_validator), + ('new_value', DataPlacementRestrictionChangePolicyDetails._new_value_validator), +] + +DataPlacementRestrictionSatisfyPolicyDetails._placement_restriction_validator = PlacementRestriction_validator +DataPlacementRestrictionSatisfyPolicyDetails._all_field_names_ = set(['placement_restriction']) +DataPlacementRestrictionSatisfyPolicyDetails._all_fields_ = [('placement_restriction', DataPlacementRestrictionSatisfyPolicyDetails._placement_restriction_validator)] + +SessionLogInfo._session_id_validator = bv.Nullable(common.SessionId_validator) +SessionLogInfo._field_names_ = set(['session_id']) +SessionLogInfo._all_field_names_ = SessionLogInfo._field_names_ +SessionLogInfo._fields_ = [('session_id', SessionLogInfo._session_id_validator)] +SessionLogInfo._all_fields_ = SessionLogInfo._fields_ + +SessionLogInfo._tag_to_subtype_ = { + (u'web',): WebSessionLogInfo_validator, + (u'desktop',): DesktopSessionLogInfo_validator, + (u'mobile',): MobileSessionLogInfo_validator, +} +SessionLogInfo._pytype_to_tag_and_subtype_ = { + WebSessionLogInfo: ((u'web',), WebSessionLogInfo_validator), + DesktopSessionLogInfo: ((u'desktop',), DesktopSessionLogInfo_validator), + MobileSessionLogInfo: ((u'mobile',), MobileSessionLogInfo_validator), +} +SessionLogInfo._is_catch_all_ = True + +DesktopSessionLogInfo._field_names_ = set([]) +DesktopSessionLogInfo._all_field_names_ = SessionLogInfo._all_field_names_.union(DesktopSessionLogInfo._field_names_) +DesktopSessionLogInfo._fields_ = [] +DesktopSessionLogInfo._all_fields_ = SessionLogInfo._all_fields_ + DesktopSessionLogInfo._fields_ + +DeviceApprovalsChangeDesktopPolicyDetails._new_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) +DeviceApprovalsChangeDesktopPolicyDetails._previous_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) +DeviceApprovalsChangeDesktopPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +DeviceApprovalsChangeDesktopPolicyDetails._all_fields_ = [ + ('new_value', DeviceApprovalsChangeDesktopPolicyDetails._new_value_validator), + ('previous_value', DeviceApprovalsChangeDesktopPolicyDetails._previous_value_validator), +] + +DeviceApprovalsChangeMobilePolicyDetails._new_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) +DeviceApprovalsChangeMobilePolicyDetails._previous_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) +DeviceApprovalsChangeMobilePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +DeviceApprovalsChangeMobilePolicyDetails._all_fields_ = [ + ('new_value', DeviceApprovalsChangeMobilePolicyDetails._new_value_validator), + ('previous_value', DeviceApprovalsChangeMobilePolicyDetails._previous_value_validator), +] + +DeviceApprovalsChangeOverageActionDetails._new_value_validator = bv.Nullable(DeviceApprovalsRolloutPolicy_validator) +DeviceApprovalsChangeOverageActionDetails._previous_value_validator = bv.Nullable(DeviceApprovalsRolloutPolicy_validator) +DeviceApprovalsChangeOverageActionDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +DeviceApprovalsChangeOverageActionDetails._all_fields_ = [ + ('new_value', DeviceApprovalsChangeOverageActionDetails._new_value_validator), + ('previous_value', DeviceApprovalsChangeOverageActionDetails._previous_value_validator), +] + +DeviceApprovalsChangeUnlinkActionDetails._new_value_validator = bv.Nullable(DeviceUnlinkPolicy_validator) +DeviceApprovalsChangeUnlinkActionDetails._previous_value_validator = bv.Nullable(DeviceUnlinkPolicy_validator) +DeviceApprovalsChangeUnlinkActionDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +DeviceApprovalsChangeUnlinkActionDetails._all_fields_ = [ + ('new_value', DeviceApprovalsChangeUnlinkActionDetails._new_value_validator), + ('previous_value', DeviceApprovalsChangeUnlinkActionDetails._previous_value_validator), +] + +DeviceApprovalsPolicy._unlimited_validator = bv.Void() +DeviceApprovalsPolicy._zero_validator = bv.Void() +DeviceApprovalsPolicy._one_validator = bv.Void() +DeviceApprovalsPolicy._two_validator = bv.Void() +DeviceApprovalsPolicy._three_validator = bv.Void() +DeviceApprovalsPolicy._four_validator = bv.Void() +DeviceApprovalsPolicy._five_validator = bv.Void() +DeviceApprovalsPolicy._other_validator = bv.Void() +DeviceApprovalsPolicy._tagmap = { + 'unlimited': DeviceApprovalsPolicy._unlimited_validator, + 'zero': DeviceApprovalsPolicy._zero_validator, + 'one': DeviceApprovalsPolicy._one_validator, + 'two': DeviceApprovalsPolicy._two_validator, + 'three': DeviceApprovalsPolicy._three_validator, + 'four': DeviceApprovalsPolicy._four_validator, + 'five': DeviceApprovalsPolicy._five_validator, + 'other': DeviceApprovalsPolicy._other_validator, +} + +DeviceApprovalsPolicy.unlimited = DeviceApprovalsPolicy('unlimited') +DeviceApprovalsPolicy.zero = DeviceApprovalsPolicy('zero') +DeviceApprovalsPolicy.one = DeviceApprovalsPolicy('one') +DeviceApprovalsPolicy.two = DeviceApprovalsPolicy('two') +DeviceApprovalsPolicy.three = DeviceApprovalsPolicy('three') +DeviceApprovalsPolicy.four = DeviceApprovalsPolicy('four') +DeviceApprovalsPolicy.five = DeviceApprovalsPolicy('five') +DeviceApprovalsPolicy.other = DeviceApprovalsPolicy('other') + +DeviceApprovalsRolloutPolicy._remove_oldest_validator = bv.Void() +DeviceApprovalsRolloutPolicy._remove_all_validator = bv.Void() +DeviceApprovalsRolloutPolicy._add_exception_validator = bv.Void() +DeviceApprovalsRolloutPolicy._other_validator = bv.Void() +DeviceApprovalsRolloutPolicy._tagmap = { + 'remove_oldest': DeviceApprovalsRolloutPolicy._remove_oldest_validator, + 'remove_all': DeviceApprovalsRolloutPolicy._remove_all_validator, + 'add_exception': DeviceApprovalsRolloutPolicy._add_exception_validator, + 'other': DeviceApprovalsRolloutPolicy._other_validator, +} + +DeviceApprovalsRolloutPolicy.remove_oldest = DeviceApprovalsRolloutPolicy('remove_oldest') +DeviceApprovalsRolloutPolicy.remove_all = DeviceApprovalsRolloutPolicy('remove_all') +DeviceApprovalsRolloutPolicy.add_exception = DeviceApprovalsRolloutPolicy('add_exception') +DeviceApprovalsRolloutPolicy.other = DeviceApprovalsRolloutPolicy('other') + +DeviceChangeIpDesktopDetails._device_info_validator = DeviceLogInfo_validator +DeviceChangeIpDesktopDetails._all_field_names_ = set(['device_info']) +DeviceChangeIpDesktopDetails._all_fields_ = [('device_info', DeviceChangeIpDesktopDetails._device_info_validator)] + +DeviceChangeIpMobileDetails._device_info_validator = DeviceLogInfo_validator +DeviceChangeIpMobileDetails._all_field_names_ = set(['device_info']) +DeviceChangeIpMobileDetails._all_fields_ = [('device_info', DeviceChangeIpMobileDetails._device_info_validator)] + +DeviceChangeIpWebDetails._user_agent_validator = bv.String() +DeviceChangeIpWebDetails._all_field_names_ = set(['user_agent']) +DeviceChangeIpWebDetails._all_fields_ = [('user_agent', DeviceChangeIpWebDetails._user_agent_validator)] + +DeviceDeleteOnUnlinkFailDetails._device_info_validator = DeviceLogInfo_validator +DeviceDeleteOnUnlinkFailDetails._num_failures_validator = bv.Int64() +DeviceDeleteOnUnlinkFailDetails._all_field_names_ = set([ + 'device_info', + 'num_failures', +]) +DeviceDeleteOnUnlinkFailDetails._all_fields_ = [ + ('device_info', DeviceDeleteOnUnlinkFailDetails._device_info_validator), + ('num_failures', DeviceDeleteOnUnlinkFailDetails._num_failures_validator), +] + +DeviceDeleteOnUnlinkSuccessDetails._device_info_validator = DeviceLogInfo_validator +DeviceDeleteOnUnlinkSuccessDetails._all_field_names_ = set(['device_info']) +DeviceDeleteOnUnlinkSuccessDetails._all_fields_ = [('device_info', DeviceDeleteOnUnlinkSuccessDetails._device_info_validator)] + +DeviceLinkFailDetails._device_type_validator = DeviceType_validator +DeviceLinkFailDetails._all_field_names_ = set(['device_type']) +DeviceLinkFailDetails._all_fields_ = [('device_type', DeviceLinkFailDetails._device_type_validator)] + +DeviceLinkSuccessDetails._device_info_validator = DeviceLogInfo_validator +DeviceLinkSuccessDetails._app_version_validator = bv.Nullable(bv.String()) +DeviceLinkSuccessDetails._all_field_names_ = set([ + 'device_info', + 'app_version', +]) +DeviceLinkSuccessDetails._all_fields_ = [ + ('device_info', DeviceLinkSuccessDetails._device_info_validator), + ('app_version', DeviceLinkSuccessDetails._app_version_validator), +] + +DeviceLogInfo._device_id_validator = bv.Nullable(bv.String()) +DeviceLogInfo._display_name_validator = bv.Nullable(bv.String()) +DeviceLogInfo._is_emm_managed_validator = bv.Nullable(bv.Boolean()) +DeviceLogInfo._platform_validator = bv.Nullable(bv.String()) +DeviceLogInfo._mac_address_validator = bv.Nullable(bv.String()) +DeviceLogInfo._os_version_validator = bv.Nullable(bv.String()) +DeviceLogInfo._device_type_validator = bv.Nullable(bv.String()) +DeviceLogInfo._ip_address_validator = bv.Nullable(IpAddress_validator) +DeviceLogInfo._last_activity_validator = bv.Nullable(bv.String()) +DeviceLogInfo._all_field_names_ = set([ + 'device_id', + 'display_name', + 'is_emm_managed', + 'platform', + 'mac_address', + 'os_version', + 'device_type', + 'ip_address', + 'last_activity', +]) +DeviceLogInfo._all_fields_ = [ + ('device_id', DeviceLogInfo._device_id_validator), + ('display_name', DeviceLogInfo._display_name_validator), + ('is_emm_managed', DeviceLogInfo._is_emm_managed_validator), + ('platform', DeviceLogInfo._platform_validator), + ('mac_address', DeviceLogInfo._mac_address_validator), + ('os_version', DeviceLogInfo._os_version_validator), + ('device_type', DeviceLogInfo._device_type_validator), + ('ip_address', DeviceLogInfo._ip_address_validator), + ('last_activity', DeviceLogInfo._last_activity_validator), +] + +DeviceManagementDisabledDetails._all_field_names_ = set([]) +DeviceManagementDisabledDetails._all_fields_ = [] + +DeviceManagementEnabledDetails._all_field_names_ = set([]) +DeviceManagementEnabledDetails._all_fields_ = [] + +DeviceType._mobile_validator = bv.Void() +DeviceType._desktop_validator = bv.Void() +DeviceType._other_validator = bv.Void() +DeviceType._tagmap = { + 'mobile': DeviceType._mobile_validator, + 'desktop': DeviceType._desktop_validator, + 'other': DeviceType._other_validator, +} + +DeviceType.mobile = DeviceType('mobile') +DeviceType.desktop = DeviceType('desktop') +DeviceType.other = DeviceType('other') + +DeviceUnlinkDetails._device_info_validator = DeviceLogInfo_validator +DeviceUnlinkDetails._delete_data_validator = bv.Boolean() +DeviceUnlinkDetails._all_field_names_ = set([ + 'device_info', + 'delete_data', +]) +DeviceUnlinkDetails._all_fields_ = [ + ('device_info', DeviceUnlinkDetails._device_info_validator), + ('delete_data', DeviceUnlinkDetails._delete_data_validator), +] + +DeviceUnlinkPolicy._remove_validator = bv.Void() +DeviceUnlinkPolicy._keep_validator = bv.Void() +DeviceUnlinkPolicy._other_validator = bv.Void() +DeviceUnlinkPolicy._tagmap = { + 'remove': DeviceUnlinkPolicy._remove_validator, + 'keep': DeviceUnlinkPolicy._keep_validator, + 'other': DeviceUnlinkPolicy._other_validator, +} + +DeviceUnlinkPolicy.remove = DeviceUnlinkPolicy('remove') +DeviceUnlinkPolicy.keep = DeviceUnlinkPolicy('keep') +DeviceUnlinkPolicy.other = DeviceUnlinkPolicy('other') + +DisabledDomainInvitesDetails._all_field_names_ = set([]) +DisabledDomainInvitesDetails._all_fields_ = [] + +DomainInvitesApproveRequestToJoinTeamDetails._all_field_names_ = set([]) +DomainInvitesApproveRequestToJoinTeamDetails._all_fields_ = [] + +DomainInvitesDeclineRequestToJoinTeamDetails._all_field_names_ = set([]) +DomainInvitesDeclineRequestToJoinTeamDetails._all_fields_ = [] + +DomainInvitesEmailExistingUsersDetails._domain_name_validator = bv.List(bv.String()) +DomainInvitesEmailExistingUsersDetails._num_recipients_validator = bv.UInt64() +DomainInvitesEmailExistingUsersDetails._all_field_names_ = set([ + 'domain_name', + 'num_recipients', +]) +DomainInvitesEmailExistingUsersDetails._all_fields_ = [ + ('domain_name', DomainInvitesEmailExistingUsersDetails._domain_name_validator), + ('num_recipients', DomainInvitesEmailExistingUsersDetails._num_recipients_validator), +] + +DomainInvitesRequestToJoinTeamDetails._all_field_names_ = set([]) +DomainInvitesRequestToJoinTeamDetails._all_fields_ = [] + +DomainInvitesSetInviteNewUserPrefToNoDetails._all_field_names_ = set([]) +DomainInvitesSetInviteNewUserPrefToNoDetails._all_fields_ = [] + +DomainInvitesSetInviteNewUserPrefToYesDetails._all_field_names_ = set([]) +DomainInvitesSetInviteNewUserPrefToYesDetails._all_fields_ = [] + +DomainVerificationAddDomainFailDetails._domain_names_validator = bv.List(bv.String()) +DomainVerificationAddDomainFailDetails._verification_method_validator = bv.Nullable(bv.String()) +DomainVerificationAddDomainFailDetails._all_field_names_ = set([ + 'domain_names', + 'verification_method', +]) +DomainVerificationAddDomainFailDetails._all_fields_ = [ + ('domain_names', DomainVerificationAddDomainFailDetails._domain_names_validator), + ('verification_method', DomainVerificationAddDomainFailDetails._verification_method_validator), +] + +DomainVerificationAddDomainSuccessDetails._domain_names_validator = bv.List(bv.String()) +DomainVerificationAddDomainSuccessDetails._verification_method_validator = bv.Nullable(bv.String()) +DomainVerificationAddDomainSuccessDetails._all_field_names_ = set([ + 'domain_names', + 'verification_method', +]) +DomainVerificationAddDomainSuccessDetails._all_fields_ = [ + ('domain_names', DomainVerificationAddDomainSuccessDetails._domain_names_validator), + ('verification_method', DomainVerificationAddDomainSuccessDetails._verification_method_validator), +] + +DomainVerificationRemoveDomainDetails._domain_names_validator = bv.List(bv.String()) +DomainVerificationRemoveDomainDetails._all_field_names_ = set(['domain_names']) +DomainVerificationRemoveDomainDetails._all_fields_ = [('domain_names', DomainVerificationRemoveDomainDetails._domain_names_validator)] + +EmmAddExceptionDetails._all_field_names_ = set([]) +EmmAddExceptionDetails._all_fields_ = [] + +EmmChangePolicyDetails._new_value_validator = OptionalChangePolicy_validator +EmmChangePolicyDetails._previous_value_validator = bv.Nullable(OptionalChangePolicy_validator) +EmmChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +EmmChangePolicyDetails._all_fields_ = [ + ('new_value', EmmChangePolicyDetails._new_value_validator), + ('previous_value', EmmChangePolicyDetails._previous_value_validator), +] + +EmmCreateExceptionsReportDetails._all_field_names_ = set([]) +EmmCreateExceptionsReportDetails._all_fields_ = [] + +EmmCreateUsageReportDetails._all_field_names_ = set([]) +EmmCreateUsageReportDetails._all_fields_ = [] + +EmmLoginSuccessDetails._all_field_names_ = set([]) +EmmLoginSuccessDetails._all_fields_ = [] + +EmmRefreshAuthTokenDetails._all_field_names_ = set([]) +EmmRefreshAuthTokenDetails._all_fields_ = [] + +EmmRemoveExceptionDetails._all_field_names_ = set([]) +EmmRemoveExceptionDetails._all_fields_ = [] + +EnableDisableChangePolicy._disabled_validator = bv.Void() +EnableDisableChangePolicy._enabled_validator = bv.Void() +EnableDisableChangePolicy._other_validator = bv.Void() +EnableDisableChangePolicy._tagmap = { + 'disabled': EnableDisableChangePolicy._disabled_validator, + 'enabled': EnableDisableChangePolicy._enabled_validator, + 'other': EnableDisableChangePolicy._other_validator, +} + +EnableDisableChangePolicy.disabled = EnableDisableChangePolicy('disabled') +EnableDisableChangePolicy.enabled = EnableDisableChangePolicy('enabled') +EnableDisableChangePolicy.other = EnableDisableChangePolicy('other') + +EnabledDomainInvitesDetails._all_field_names_ = set([]) +EnabledDomainInvitesDetails._all_fields_ = [] + +EventCategory._account_capture_validator = bv.Void() +EventCategory._administration_validator = bv.Void() +EventCategory._apps_validator = bv.Void() +EventCategory._authentication_validator = bv.Void() +EventCategory._comments_validator = bv.Void() +EventCategory._content_access_validator = bv.Void() +EventCategory._devices_validator = bv.Void() +EventCategory._device_approvals_validator = bv.Void() +EventCategory._domains_validator = bv.Void() +EventCategory._emm_validator = bv.Void() +EventCategory._errors_validator = bv.Void() +EventCategory._files_validator = bv.Void() +EventCategory._file_operations_validator = bv.Void() +EventCategory._file_requests_validator = bv.Void() +EventCategory._groups_validator = bv.Void() +EventCategory._logins_validator = bv.Void() +EventCategory._members_validator = bv.Void() +EventCategory._paper_validator = bv.Void() +EventCategory._passwords_validator = bv.Void() +EventCategory._reports_validator = bv.Void() +EventCategory._sessions_validator = bv.Void() +EventCategory._shared_files_validator = bv.Void() +EventCategory._shared_folders_validator = bv.Void() +EventCategory._shared_links_validator = bv.Void() +EventCategory._sharing_validator = bv.Void() +EventCategory._sharing_policies_validator = bv.Void() +EventCategory._sso_validator = bv.Void() +EventCategory._team_folders_validator = bv.Void() +EventCategory._team_policies_validator = bv.Void() +EventCategory._team_profile_validator = bv.Void() +EventCategory._tfa_validator = bv.Void() +EventCategory._other_validator = bv.Void() +EventCategory._tagmap = { + 'account_capture': EventCategory._account_capture_validator, + 'administration': EventCategory._administration_validator, + 'apps': EventCategory._apps_validator, + 'authentication': EventCategory._authentication_validator, + 'comments': EventCategory._comments_validator, + 'content_access': EventCategory._content_access_validator, + 'devices': EventCategory._devices_validator, + 'device_approvals': EventCategory._device_approvals_validator, + 'domains': EventCategory._domains_validator, + 'emm': EventCategory._emm_validator, + 'errors': EventCategory._errors_validator, + 'files': EventCategory._files_validator, + 'file_operations': EventCategory._file_operations_validator, + 'file_requests': EventCategory._file_requests_validator, + 'groups': EventCategory._groups_validator, + 'logins': EventCategory._logins_validator, + 'members': EventCategory._members_validator, + 'paper': EventCategory._paper_validator, + 'passwords': EventCategory._passwords_validator, + 'reports': EventCategory._reports_validator, + 'sessions': EventCategory._sessions_validator, + 'shared_files': EventCategory._shared_files_validator, + 'shared_folders': EventCategory._shared_folders_validator, + 'shared_links': EventCategory._shared_links_validator, + 'sharing': EventCategory._sharing_validator, + 'sharing_policies': EventCategory._sharing_policies_validator, + 'sso': EventCategory._sso_validator, + 'team_folders': EventCategory._team_folders_validator, + 'team_policies': EventCategory._team_policies_validator, + 'team_profile': EventCategory._team_profile_validator, + 'tfa': EventCategory._tfa_validator, + 'other': EventCategory._other_validator, +} + +EventCategory.account_capture = EventCategory('account_capture') +EventCategory.administration = EventCategory('administration') +EventCategory.apps = EventCategory('apps') +EventCategory.authentication = EventCategory('authentication') +EventCategory.comments = EventCategory('comments') +EventCategory.content_access = EventCategory('content_access') +EventCategory.devices = EventCategory('devices') +EventCategory.device_approvals = EventCategory('device_approvals') +EventCategory.domains = EventCategory('domains') +EventCategory.emm = EventCategory('emm') +EventCategory.errors = EventCategory('errors') +EventCategory.files = EventCategory('files') +EventCategory.file_operations = EventCategory('file_operations') +EventCategory.file_requests = EventCategory('file_requests') +EventCategory.groups = EventCategory('groups') +EventCategory.logins = EventCategory('logins') +EventCategory.members = EventCategory('members') +EventCategory.paper = EventCategory('paper') +EventCategory.passwords = EventCategory('passwords') +EventCategory.reports = EventCategory('reports') +EventCategory.sessions = EventCategory('sessions') +EventCategory.shared_files = EventCategory('shared_files') +EventCategory.shared_folders = EventCategory('shared_folders') +EventCategory.shared_links = EventCategory('shared_links') +EventCategory.sharing = EventCategory('sharing') +EventCategory.sharing_policies = EventCategory('sharing_policies') +EventCategory.sso = EventCategory('sso') +EventCategory.team_folders = EventCategory('team_folders') +EventCategory.team_policies = EventCategory('team_policies') +EventCategory.team_profile = EventCategory('team_profile') +EventCategory.tfa = EventCategory('tfa') +EventCategory.other = EventCategory('other') + +EventDetails._member_change_membership_type_details_validator = MemberChangeMembershipTypeDetails_validator +EventDetails._member_permanently_delete_account_contents_details_validator = MemberPermanentlyDeleteAccountContentsDetails_validator +EventDetails._member_space_limits_change_status_details_validator = MemberSpaceLimitsChangeStatusDetails_validator +EventDetails._member_transfer_account_contents_details_validator = MemberTransferAccountContentsDetails_validator +EventDetails._paper_enabled_users_group_addition_details_validator = PaperEnabledUsersGroupAdditionDetails_validator +EventDetails._paper_enabled_users_group_removal_details_validator = PaperEnabledUsersGroupRemovalDetails_validator +EventDetails._paper_external_view_allow_details_validator = PaperExternalViewAllowDetails_validator +EventDetails._paper_external_view_default_team_details_validator = PaperExternalViewDefaultTeamDetails_validator +EventDetails._paper_external_view_forbid_details_validator = PaperExternalViewForbidDetails_validator +EventDetails._sf_external_invite_warn_details_validator = SfExternalInviteWarnDetails_validator +EventDetails._team_merge_details_validator = TeamMergeDetails_validator +EventDetails._app_link_team_details_validator = AppLinkTeamDetails_validator +EventDetails._app_link_user_details_validator = AppLinkUserDetails_validator +EventDetails._app_unlink_team_details_validator = AppUnlinkTeamDetails_validator +EventDetails._app_unlink_user_details_validator = AppUnlinkUserDetails_validator +EventDetails._device_change_ip_desktop_details_validator = DeviceChangeIpDesktopDetails_validator +EventDetails._device_change_ip_mobile_details_validator = DeviceChangeIpMobileDetails_validator +EventDetails._device_change_ip_web_details_validator = DeviceChangeIpWebDetails_validator +EventDetails._device_delete_on_unlink_fail_details_validator = DeviceDeleteOnUnlinkFailDetails_validator +EventDetails._device_delete_on_unlink_success_details_validator = DeviceDeleteOnUnlinkSuccessDetails_validator +EventDetails._device_link_fail_details_validator = DeviceLinkFailDetails_validator +EventDetails._device_link_success_details_validator = DeviceLinkSuccessDetails_validator +EventDetails._device_management_disabled_details_validator = DeviceManagementDisabledDetails_validator +EventDetails._device_management_enabled_details_validator = DeviceManagementEnabledDetails_validator +EventDetails._device_unlink_details_validator = DeviceUnlinkDetails_validator +EventDetails._emm_refresh_auth_token_details_validator = EmmRefreshAuthTokenDetails_validator +EventDetails._account_capture_change_availability_details_validator = AccountCaptureChangeAvailabilityDetails_validator +EventDetails._account_capture_migrate_account_details_validator = AccountCaptureMigrateAccountDetails_validator +EventDetails._account_capture_relinquish_account_details_validator = AccountCaptureRelinquishAccountDetails_validator +EventDetails._disabled_domain_invites_details_validator = DisabledDomainInvitesDetails_validator +EventDetails._domain_invites_approve_request_to_join_team_details_validator = DomainInvitesApproveRequestToJoinTeamDetails_validator +EventDetails._domain_invites_decline_request_to_join_team_details_validator = DomainInvitesDeclineRequestToJoinTeamDetails_validator +EventDetails._domain_invites_email_existing_users_details_validator = DomainInvitesEmailExistingUsersDetails_validator +EventDetails._domain_invites_request_to_join_team_details_validator = DomainInvitesRequestToJoinTeamDetails_validator +EventDetails._domain_invites_set_invite_new_user_pref_to_no_details_validator = DomainInvitesSetInviteNewUserPrefToNoDetails_validator +EventDetails._domain_invites_set_invite_new_user_pref_to_yes_details_validator = DomainInvitesSetInviteNewUserPrefToYesDetails_validator +EventDetails._domain_verification_add_domain_fail_details_validator = DomainVerificationAddDomainFailDetails_validator +EventDetails._domain_verification_add_domain_success_details_validator = DomainVerificationAddDomainSuccessDetails_validator +EventDetails._domain_verification_remove_domain_details_validator = DomainVerificationRemoveDomainDetails_validator +EventDetails._enabled_domain_invites_details_validator = EnabledDomainInvitesDetails_validator +EventDetails._create_folder_details_validator = CreateFolderDetails_validator +EventDetails._file_add_details_validator = FileAddDetails_validator +EventDetails._file_copy_details_validator = FileCopyDetails_validator +EventDetails._file_delete_details_validator = FileDeleteDetails_validator +EventDetails._file_download_details_validator = FileDownloadDetails_validator +EventDetails._file_edit_details_validator = FileEditDetails_validator +EventDetails._file_get_copy_reference_details_validator = FileGetCopyReferenceDetails_validator +EventDetails._file_move_details_validator = FileMoveDetails_validator +EventDetails._file_permanently_delete_details_validator = FilePermanentlyDeleteDetails_validator +EventDetails._file_preview_details_validator = FilePreviewDetails_validator +EventDetails._file_rename_details_validator = FileRenameDetails_validator +EventDetails._file_restore_details_validator = FileRestoreDetails_validator +EventDetails._file_revert_details_validator = FileRevertDetails_validator +EventDetails._file_rollback_changes_details_validator = FileRollbackChangesDetails_validator +EventDetails._file_save_copy_reference_details_validator = FileSaveCopyReferenceDetails_validator +EventDetails._file_request_add_deadline_details_validator = FileRequestAddDeadlineDetails_validator +EventDetails._file_request_change_folder_details_validator = FileRequestChangeFolderDetails_validator +EventDetails._file_request_change_title_details_validator = FileRequestChangeTitleDetails_validator +EventDetails._file_request_close_details_validator = FileRequestCloseDetails_validator +EventDetails._file_request_create_details_validator = FileRequestCreateDetails_validator +EventDetails._file_request_receive_file_details_validator = FileRequestReceiveFileDetails_validator +EventDetails._file_request_remove_deadline_details_validator = FileRequestRemoveDeadlineDetails_validator +EventDetails._file_request_send_details_validator = FileRequestSendDetails_validator +EventDetails._group_add_external_id_details_validator = GroupAddExternalIdDetails_validator +EventDetails._group_add_member_details_validator = GroupAddMemberDetails_validator +EventDetails._group_change_external_id_details_validator = GroupChangeExternalIdDetails_validator +EventDetails._group_change_management_type_details_validator = GroupChangeManagementTypeDetails_validator +EventDetails._group_change_member_role_details_validator = GroupChangeMemberRoleDetails_validator +EventDetails._group_create_details_validator = GroupCreateDetails_validator +EventDetails._group_delete_details_validator = GroupDeleteDetails_validator +EventDetails._group_description_updated_details_validator = GroupDescriptionUpdatedDetails_validator +EventDetails._group_join_policy_updated_details_validator = GroupJoinPolicyUpdatedDetails_validator +EventDetails._group_moved_details_validator = GroupMovedDetails_validator +EventDetails._group_remove_external_id_details_validator = GroupRemoveExternalIdDetails_validator +EventDetails._group_remove_member_details_validator = GroupRemoveMemberDetails_validator +EventDetails._group_rename_details_validator = GroupRenameDetails_validator +EventDetails._emm_login_success_details_validator = EmmLoginSuccessDetails_validator +EventDetails._logout_details_validator = LogoutDetails_validator +EventDetails._password_login_fail_details_validator = PasswordLoginFailDetails_validator +EventDetails._password_login_success_details_validator = PasswordLoginSuccessDetails_validator +EventDetails._reseller_support_session_end_details_validator = ResellerSupportSessionEndDetails_validator +EventDetails._reseller_support_session_start_details_validator = ResellerSupportSessionStartDetails_validator +EventDetails._sign_in_as_session_end_details_validator = SignInAsSessionEndDetails_validator +EventDetails._sign_in_as_session_start_details_validator = SignInAsSessionStartDetails_validator +EventDetails._sso_login_fail_details_validator = SsoLoginFailDetails_validator +EventDetails._member_add_name_details_validator = MemberAddNameDetails_validator +EventDetails._member_change_email_details_validator = MemberChangeEmailDetails_validator +EventDetails._member_change_name_details_validator = MemberChangeNameDetails_validator +EventDetails._member_change_role_details_validator = MemberChangeRoleDetails_validator +EventDetails._member_invite_details_validator = MemberInviteDetails_validator +EventDetails._member_join_details_validator = MemberJoinDetails_validator +EventDetails._member_leave_details_validator = MemberLeaveDetails_validator +EventDetails._member_recover_details_validator = MemberRecoverDetails_validator +EventDetails._member_suggest_details_validator = MemberSuggestDetails_validator +EventDetails._member_suspend_details_validator = MemberSuspendDetails_validator +EventDetails._member_unsuspend_details_validator = MemberUnsuspendDetails_validator +EventDetails._paper_content_add_member_details_validator = PaperContentAddMemberDetails_validator +EventDetails._paper_content_add_to_folder_details_validator = PaperContentAddToFolderDetails_validator +EventDetails._paper_content_archive_details_validator = PaperContentArchiveDetails_validator +EventDetails._paper_content_change_subscription_details_validator = PaperContentChangeSubscriptionDetails_validator +EventDetails._paper_content_create_details_validator = PaperContentCreateDetails_validator +EventDetails._paper_content_permanently_delete_details_validator = PaperContentPermanentlyDeleteDetails_validator +EventDetails._paper_content_remove_from_folder_details_validator = PaperContentRemoveFromFolderDetails_validator +EventDetails._paper_content_remove_member_details_validator = PaperContentRemoveMemberDetails_validator +EventDetails._paper_content_rename_details_validator = PaperContentRenameDetails_validator +EventDetails._paper_content_restore_details_validator = PaperContentRestoreDetails_validator +EventDetails._paper_doc_add_comment_details_validator = PaperDocAddCommentDetails_validator +EventDetails._paper_doc_change_member_role_details_validator = PaperDocChangeMemberRoleDetails_validator +EventDetails._paper_doc_change_sharing_policy_details_validator = PaperDocChangeSharingPolicyDetails_validator +EventDetails._paper_doc_deleted_details_validator = PaperDocDeletedDetails_validator +EventDetails._paper_doc_delete_comment_details_validator = PaperDocDeleteCommentDetails_validator +EventDetails._paper_doc_download_details_validator = PaperDocDownloadDetails_validator +EventDetails._paper_doc_edit_details_validator = PaperDocEditDetails_validator +EventDetails._paper_doc_edit_comment_details_validator = PaperDocEditCommentDetails_validator +EventDetails._paper_doc_followed_details_validator = PaperDocFollowedDetails_validator +EventDetails._paper_doc_mention_details_validator = PaperDocMentionDetails_validator +EventDetails._paper_doc_request_access_details_validator = PaperDocRequestAccessDetails_validator +EventDetails._paper_doc_resolve_comment_details_validator = PaperDocResolveCommentDetails_validator +EventDetails._paper_doc_revert_details_validator = PaperDocRevertDetails_validator +EventDetails._paper_doc_slack_share_details_validator = PaperDocSlackShareDetails_validator +EventDetails._paper_doc_team_invite_details_validator = PaperDocTeamInviteDetails_validator +EventDetails._paper_doc_unresolve_comment_details_validator = PaperDocUnresolveCommentDetails_validator +EventDetails._paper_doc_view_details_validator = PaperDocViewDetails_validator +EventDetails._paper_folder_deleted_details_validator = PaperFolderDeletedDetails_validator +EventDetails._paper_folder_followed_details_validator = PaperFolderFollowedDetails_validator +EventDetails._paper_folder_team_invite_details_validator = PaperFolderTeamInviteDetails_validator +EventDetails._password_change_details_validator = PasswordChangeDetails_validator +EventDetails._password_reset_details_validator = PasswordResetDetails_validator +EventDetails._password_reset_all_details_validator = PasswordResetAllDetails_validator +EventDetails._emm_create_exceptions_report_details_validator = EmmCreateExceptionsReportDetails_validator +EventDetails._emm_create_usage_report_details_validator = EmmCreateUsageReportDetails_validator +EventDetails._smart_sync_create_admin_privilege_report_details_validator = SmartSyncCreateAdminPrivilegeReportDetails_validator +EventDetails._team_activity_create_report_details_validator = TeamActivityCreateReportDetails_validator +EventDetails._collection_share_details_validator = CollectionShareDetails_validator +EventDetails._file_add_comment_details_validator = FileAddCommentDetails_validator +EventDetails._file_like_comment_details_validator = FileLikeCommentDetails_validator +EventDetails._file_unlike_comment_details_validator = FileUnlikeCommentDetails_validator +EventDetails._note_acl_invite_only_details_validator = NoteAclInviteOnlyDetails_validator +EventDetails._note_acl_link_details_validator = NoteAclLinkDetails_validator +EventDetails._note_acl_team_link_details_validator = NoteAclTeamLinkDetails_validator +EventDetails._note_shared_details_validator = NoteSharedDetails_validator +EventDetails._note_share_receive_details_validator = NoteShareReceiveDetails_validator +EventDetails._open_note_shared_details_validator = OpenNoteSharedDetails_validator +EventDetails._sf_add_group_details_validator = SfAddGroupDetails_validator +EventDetails._sf_allow_non_members_to_view_shared_links_details_validator = SfAllowNonMembersToViewSharedLinksDetails_validator +EventDetails._sf_invite_group_details_validator = SfInviteGroupDetails_validator +EventDetails._sf_nest_details_validator = SfNestDetails_validator +EventDetails._sf_team_decline_details_validator = SfTeamDeclineDetails_validator +EventDetails._sf_team_grant_access_details_validator = SfTeamGrantAccessDetails_validator +EventDetails._sf_team_invite_details_validator = SfTeamInviteDetails_validator +EventDetails._sf_team_invite_change_role_details_validator = SfTeamInviteChangeRoleDetails_validator +EventDetails._sf_team_join_details_validator = SfTeamJoinDetails_validator +EventDetails._sf_team_join_from_oob_link_details_validator = SfTeamJoinFromOobLinkDetails_validator +EventDetails._sf_team_uninvite_details_validator = SfTeamUninviteDetails_validator +EventDetails._shared_content_add_invitees_details_validator = SharedContentAddInviteesDetails_validator +EventDetails._shared_content_add_link_expiry_details_validator = SharedContentAddLinkExpiryDetails_validator +EventDetails._shared_content_add_link_password_details_validator = SharedContentAddLinkPasswordDetails_validator +EventDetails._shared_content_add_member_details_validator = SharedContentAddMemberDetails_validator +EventDetails._shared_content_change_downloads_policy_details_validator = SharedContentChangeDownloadsPolicyDetails_validator +EventDetails._shared_content_change_invitee_role_details_validator = SharedContentChangeInviteeRoleDetails_validator +EventDetails._shared_content_change_link_audience_details_validator = SharedContentChangeLinkAudienceDetails_validator +EventDetails._shared_content_change_link_expiry_details_validator = SharedContentChangeLinkExpiryDetails_validator +EventDetails._shared_content_change_link_password_details_validator = SharedContentChangeLinkPasswordDetails_validator +EventDetails._shared_content_change_member_role_details_validator = SharedContentChangeMemberRoleDetails_validator +EventDetails._shared_content_change_viewer_info_policy_details_validator = SharedContentChangeViewerInfoPolicyDetails_validator +EventDetails._shared_content_claim_invitation_details_validator = SharedContentClaimInvitationDetails_validator +EventDetails._shared_content_copy_details_validator = SharedContentCopyDetails_validator +EventDetails._shared_content_download_details_validator = SharedContentDownloadDetails_validator +EventDetails._shared_content_relinquish_membership_details_validator = SharedContentRelinquishMembershipDetails_validator +EventDetails._shared_content_remove_invitee_details_validator = SharedContentRemoveInviteeDetails_validator +EventDetails._shared_content_remove_link_expiry_details_validator = SharedContentRemoveLinkExpiryDetails_validator +EventDetails._shared_content_remove_link_password_details_validator = SharedContentRemoveLinkPasswordDetails_validator +EventDetails._shared_content_remove_member_details_validator = SharedContentRemoveMemberDetails_validator +EventDetails._shared_content_request_access_details_validator = SharedContentRequestAccessDetails_validator +EventDetails._shared_content_unshare_details_validator = SharedContentUnshareDetails_validator +EventDetails._shared_content_view_details_validator = SharedContentViewDetails_validator +EventDetails._shared_folder_change_confidentiality_details_validator = SharedFolderChangeConfidentialityDetails_validator +EventDetails._shared_folder_change_link_policy_details_validator = SharedFolderChangeLinkPolicyDetails_validator +EventDetails._shared_folder_change_member_management_policy_details_validator = SharedFolderChangeMemberManagementPolicyDetails_validator +EventDetails._shared_folder_change_member_policy_details_validator = SharedFolderChangeMemberPolicyDetails_validator +EventDetails._shared_folder_create_details_validator = SharedFolderCreateDetails_validator +EventDetails._shared_folder_mount_details_validator = SharedFolderMountDetails_validator +EventDetails._shared_folder_transfer_ownership_details_validator = SharedFolderTransferOwnershipDetails_validator +EventDetails._shared_folder_unmount_details_validator = SharedFolderUnmountDetails_validator +EventDetails._shared_note_opened_details_validator = SharedNoteOpenedDetails_validator +EventDetails._shmodel_app_create_details_validator = ShmodelAppCreateDetails_validator +EventDetails._shmodel_create_details_validator = ShmodelCreateDetails_validator +EventDetails._shmodel_disable_details_validator = ShmodelDisableDetails_validator +EventDetails._shmodel_fb_share_details_validator = ShmodelFbShareDetails_validator +EventDetails._shmodel_group_share_details_validator = ShmodelGroupShareDetails_validator +EventDetails._shmodel_remove_expiration_details_validator = ShmodelRemoveExpirationDetails_validator +EventDetails._shmodel_set_expiration_details_validator = ShmodelSetExpirationDetails_validator +EventDetails._shmodel_team_copy_details_validator = ShmodelTeamCopyDetails_validator +EventDetails._shmodel_team_download_details_validator = ShmodelTeamDownloadDetails_validator +EventDetails._shmodel_team_share_details_validator = ShmodelTeamShareDetails_validator +EventDetails._shmodel_team_view_details_validator = ShmodelTeamViewDetails_validator +EventDetails._shmodel_visibility_password_details_validator = ShmodelVisibilityPasswordDetails_validator +EventDetails._shmodel_visibility_public_details_validator = ShmodelVisibilityPublicDetails_validator +EventDetails._shmodel_visibility_team_only_details_validator = ShmodelVisibilityTeamOnlyDetails_validator +EventDetails._remove_logout_url_details_validator = RemoveLogoutUrlDetails_validator +EventDetails._remove_sso_url_details_validator = RemoveSsoUrlDetails_validator +EventDetails._sso_change_cert_details_validator = SsoChangeCertDetails_validator +EventDetails._sso_change_login_url_details_validator = SsoChangeLoginUrlDetails_validator +EventDetails._sso_change_logout_url_details_validator = SsoChangeLogoutUrlDetails_validator +EventDetails._sso_change_saml_identity_mode_details_validator = SsoChangeSamlIdentityModeDetails_validator +EventDetails._team_folder_change_status_details_validator = TeamFolderChangeStatusDetails_validator +EventDetails._team_folder_create_details_validator = TeamFolderCreateDetails_validator +EventDetails._team_folder_downgrade_details_validator = TeamFolderDowngradeDetails_validator +EventDetails._team_folder_permanently_delete_details_validator = TeamFolderPermanentlyDeleteDetails_validator +EventDetails._team_folder_rename_details_validator = TeamFolderRenameDetails_validator +EventDetails._account_capture_change_policy_details_validator = AccountCaptureChangePolicyDetails_validator +EventDetails._allow_download_disabled_details_validator = AllowDownloadDisabledDetails_validator +EventDetails._allow_download_enabled_details_validator = AllowDownloadEnabledDetails_validator +EventDetails._data_placement_restriction_change_policy_details_validator = DataPlacementRestrictionChangePolicyDetails_validator +EventDetails._data_placement_restriction_satisfy_policy_details_validator = DataPlacementRestrictionSatisfyPolicyDetails_validator +EventDetails._device_approvals_change_desktop_policy_details_validator = DeviceApprovalsChangeDesktopPolicyDetails_validator +EventDetails._device_approvals_change_mobile_policy_details_validator = DeviceApprovalsChangeMobilePolicyDetails_validator +EventDetails._device_approvals_change_overage_action_details_validator = DeviceApprovalsChangeOverageActionDetails_validator +EventDetails._device_approvals_change_unlink_action_details_validator = DeviceApprovalsChangeUnlinkActionDetails_validator +EventDetails._emm_add_exception_details_validator = EmmAddExceptionDetails_validator +EventDetails._emm_change_policy_details_validator = EmmChangePolicyDetails_validator +EventDetails._emm_remove_exception_details_validator = EmmRemoveExceptionDetails_validator +EventDetails._extended_version_history_change_policy_details_validator = ExtendedVersionHistoryChangePolicyDetails_validator +EventDetails._file_comments_change_policy_details_validator = FileCommentsChangePolicyDetails_validator +EventDetails._file_requests_change_policy_details_validator = FileRequestsChangePolicyDetails_validator +EventDetails._file_requests_emails_enabled_details_validator = FileRequestsEmailsEnabledDetails_validator +EventDetails._file_requests_emails_restricted_to_team_only_details_validator = FileRequestsEmailsRestrictedToTeamOnlyDetails_validator +EventDetails._google_sso_change_policy_details_validator = GoogleSsoChangePolicyDetails_validator +EventDetails._group_user_management_change_policy_details_validator = GroupUserManagementChangePolicyDetails_validator +EventDetails._member_requests_change_policy_details_validator = MemberRequestsChangePolicyDetails_validator +EventDetails._member_space_limits_add_exception_details_validator = MemberSpaceLimitsAddExceptionDetails_validator +EventDetails._member_space_limits_change_policy_details_validator = MemberSpaceLimitsChangePolicyDetails_validator +EventDetails._member_space_limits_remove_exception_details_validator = MemberSpaceLimitsRemoveExceptionDetails_validator +EventDetails._member_suggestions_change_policy_details_validator = MemberSuggestionsChangePolicyDetails_validator +EventDetails._microsoft_office_addin_change_policy_details_validator = MicrosoftOfficeAddinChangePolicyDetails_validator +EventDetails._network_control_change_policy_details_validator = NetworkControlChangePolicyDetails_validator +EventDetails._paper_change_deployment_policy_details_validator = PaperChangeDeploymentPolicyDetails_validator +EventDetails._paper_change_member_policy_details_validator = PaperChangeMemberPolicyDetails_validator +EventDetails._paper_change_policy_details_validator = PaperChangePolicyDetails_validator +EventDetails._permanent_delete_change_policy_details_validator = PermanentDeleteChangePolicyDetails_validator +EventDetails._sharing_change_folder_join_policy_details_validator = SharingChangeFolderJoinPolicyDetails_validator +EventDetails._sharing_change_link_policy_details_validator = SharingChangeLinkPolicyDetails_validator +EventDetails._sharing_change_member_policy_details_validator = SharingChangeMemberPolicyDetails_validator +EventDetails._smart_sync_change_policy_details_validator = SmartSyncChangePolicyDetails_validator +EventDetails._sso_change_policy_details_validator = SsoChangePolicyDetails_validator +EventDetails._tfa_change_policy_details_validator = TfaChangePolicyDetails_validator +EventDetails._two_account_change_policy_details_validator = TwoAccountChangePolicyDetails_validator +EventDetails._web_sessions_change_fixed_length_policy_details_validator = WebSessionsChangeFixedLengthPolicyDetails_validator +EventDetails._web_sessions_change_idle_length_policy_details_validator = WebSessionsChangeIdleLengthPolicyDetails_validator +EventDetails._team_profile_add_logo_details_validator = TeamProfileAddLogoDetails_validator +EventDetails._team_profile_change_logo_details_validator = TeamProfileChangeLogoDetails_validator +EventDetails._team_profile_change_name_details_validator = TeamProfileChangeNameDetails_validator +EventDetails._team_profile_remove_logo_details_validator = TeamProfileRemoveLogoDetails_validator +EventDetails._tfa_add_backup_phone_details_validator = TfaAddBackupPhoneDetails_validator +EventDetails._tfa_add_security_key_details_validator = TfaAddSecurityKeyDetails_validator +EventDetails._tfa_change_backup_phone_details_validator = TfaChangeBackupPhoneDetails_validator +EventDetails._tfa_change_status_details_validator = TfaChangeStatusDetails_validator +EventDetails._tfa_remove_backup_phone_details_validator = TfaRemoveBackupPhoneDetails_validator +EventDetails._tfa_remove_security_key_details_validator = TfaRemoveSecurityKeyDetails_validator +EventDetails._tfa_reset_details_validator = TfaResetDetails_validator +EventDetails._missing_details_validator = MissingDetails_validator +EventDetails._other_validator = bv.Void() +EventDetails._tagmap = { + 'member_change_membership_type_details': EventDetails._member_change_membership_type_details_validator, + 'member_permanently_delete_account_contents_details': EventDetails._member_permanently_delete_account_contents_details_validator, + 'member_space_limits_change_status_details': EventDetails._member_space_limits_change_status_details_validator, + 'member_transfer_account_contents_details': EventDetails._member_transfer_account_contents_details_validator, + 'paper_enabled_users_group_addition_details': EventDetails._paper_enabled_users_group_addition_details_validator, + 'paper_enabled_users_group_removal_details': EventDetails._paper_enabled_users_group_removal_details_validator, + 'paper_external_view_allow_details': EventDetails._paper_external_view_allow_details_validator, + 'paper_external_view_default_team_details': EventDetails._paper_external_view_default_team_details_validator, + 'paper_external_view_forbid_details': EventDetails._paper_external_view_forbid_details_validator, + 'sf_external_invite_warn_details': EventDetails._sf_external_invite_warn_details_validator, + 'team_merge_details': EventDetails._team_merge_details_validator, + 'app_link_team_details': EventDetails._app_link_team_details_validator, + 'app_link_user_details': EventDetails._app_link_user_details_validator, + 'app_unlink_team_details': EventDetails._app_unlink_team_details_validator, + 'app_unlink_user_details': EventDetails._app_unlink_user_details_validator, + 'device_change_ip_desktop_details': EventDetails._device_change_ip_desktop_details_validator, + 'device_change_ip_mobile_details': EventDetails._device_change_ip_mobile_details_validator, + 'device_change_ip_web_details': EventDetails._device_change_ip_web_details_validator, + 'device_delete_on_unlink_fail_details': EventDetails._device_delete_on_unlink_fail_details_validator, + 'device_delete_on_unlink_success_details': EventDetails._device_delete_on_unlink_success_details_validator, + 'device_link_fail_details': EventDetails._device_link_fail_details_validator, + 'device_link_success_details': EventDetails._device_link_success_details_validator, + 'device_management_disabled_details': EventDetails._device_management_disabled_details_validator, + 'device_management_enabled_details': EventDetails._device_management_enabled_details_validator, + 'device_unlink_details': EventDetails._device_unlink_details_validator, + 'emm_refresh_auth_token_details': EventDetails._emm_refresh_auth_token_details_validator, + 'account_capture_change_availability_details': EventDetails._account_capture_change_availability_details_validator, + 'account_capture_migrate_account_details': EventDetails._account_capture_migrate_account_details_validator, + 'account_capture_relinquish_account_details': EventDetails._account_capture_relinquish_account_details_validator, + 'disabled_domain_invites_details': EventDetails._disabled_domain_invites_details_validator, + 'domain_invites_approve_request_to_join_team_details': EventDetails._domain_invites_approve_request_to_join_team_details_validator, + 'domain_invites_decline_request_to_join_team_details': EventDetails._domain_invites_decline_request_to_join_team_details_validator, + 'domain_invites_email_existing_users_details': EventDetails._domain_invites_email_existing_users_details_validator, + 'domain_invites_request_to_join_team_details': EventDetails._domain_invites_request_to_join_team_details_validator, + 'domain_invites_set_invite_new_user_pref_to_no_details': EventDetails._domain_invites_set_invite_new_user_pref_to_no_details_validator, + 'domain_invites_set_invite_new_user_pref_to_yes_details': EventDetails._domain_invites_set_invite_new_user_pref_to_yes_details_validator, + 'domain_verification_add_domain_fail_details': EventDetails._domain_verification_add_domain_fail_details_validator, + 'domain_verification_add_domain_success_details': EventDetails._domain_verification_add_domain_success_details_validator, + 'domain_verification_remove_domain_details': EventDetails._domain_verification_remove_domain_details_validator, + 'enabled_domain_invites_details': EventDetails._enabled_domain_invites_details_validator, + 'create_folder_details': EventDetails._create_folder_details_validator, + 'file_add_details': EventDetails._file_add_details_validator, + 'file_copy_details': EventDetails._file_copy_details_validator, + 'file_delete_details': EventDetails._file_delete_details_validator, + 'file_download_details': EventDetails._file_download_details_validator, + 'file_edit_details': EventDetails._file_edit_details_validator, + 'file_get_copy_reference_details': EventDetails._file_get_copy_reference_details_validator, + 'file_move_details': EventDetails._file_move_details_validator, + 'file_permanently_delete_details': EventDetails._file_permanently_delete_details_validator, + 'file_preview_details': EventDetails._file_preview_details_validator, + 'file_rename_details': EventDetails._file_rename_details_validator, + 'file_restore_details': EventDetails._file_restore_details_validator, + 'file_revert_details': EventDetails._file_revert_details_validator, + 'file_rollback_changes_details': EventDetails._file_rollback_changes_details_validator, + 'file_save_copy_reference_details': EventDetails._file_save_copy_reference_details_validator, + 'file_request_add_deadline_details': EventDetails._file_request_add_deadline_details_validator, + 'file_request_change_folder_details': EventDetails._file_request_change_folder_details_validator, + 'file_request_change_title_details': EventDetails._file_request_change_title_details_validator, + 'file_request_close_details': EventDetails._file_request_close_details_validator, + 'file_request_create_details': EventDetails._file_request_create_details_validator, + 'file_request_receive_file_details': EventDetails._file_request_receive_file_details_validator, + 'file_request_remove_deadline_details': EventDetails._file_request_remove_deadline_details_validator, + 'file_request_send_details': EventDetails._file_request_send_details_validator, + 'group_add_external_id_details': EventDetails._group_add_external_id_details_validator, + 'group_add_member_details': EventDetails._group_add_member_details_validator, + 'group_change_external_id_details': EventDetails._group_change_external_id_details_validator, + 'group_change_management_type_details': EventDetails._group_change_management_type_details_validator, + 'group_change_member_role_details': EventDetails._group_change_member_role_details_validator, + 'group_create_details': EventDetails._group_create_details_validator, + 'group_delete_details': EventDetails._group_delete_details_validator, + 'group_description_updated_details': EventDetails._group_description_updated_details_validator, + 'group_join_policy_updated_details': EventDetails._group_join_policy_updated_details_validator, + 'group_moved_details': EventDetails._group_moved_details_validator, + 'group_remove_external_id_details': EventDetails._group_remove_external_id_details_validator, + 'group_remove_member_details': EventDetails._group_remove_member_details_validator, + 'group_rename_details': EventDetails._group_rename_details_validator, + 'emm_login_success_details': EventDetails._emm_login_success_details_validator, + 'logout_details': EventDetails._logout_details_validator, + 'password_login_fail_details': EventDetails._password_login_fail_details_validator, + 'password_login_success_details': EventDetails._password_login_success_details_validator, + 'reseller_support_session_end_details': EventDetails._reseller_support_session_end_details_validator, + 'reseller_support_session_start_details': EventDetails._reseller_support_session_start_details_validator, + 'sign_in_as_session_end_details': EventDetails._sign_in_as_session_end_details_validator, + 'sign_in_as_session_start_details': EventDetails._sign_in_as_session_start_details_validator, + 'sso_login_fail_details': EventDetails._sso_login_fail_details_validator, + 'member_add_name_details': EventDetails._member_add_name_details_validator, + 'member_change_email_details': EventDetails._member_change_email_details_validator, + 'member_change_name_details': EventDetails._member_change_name_details_validator, + 'member_change_role_details': EventDetails._member_change_role_details_validator, + 'member_invite_details': EventDetails._member_invite_details_validator, + 'member_join_details': EventDetails._member_join_details_validator, + 'member_leave_details': EventDetails._member_leave_details_validator, + 'member_recover_details': EventDetails._member_recover_details_validator, + 'member_suggest_details': EventDetails._member_suggest_details_validator, + 'member_suspend_details': EventDetails._member_suspend_details_validator, + 'member_unsuspend_details': EventDetails._member_unsuspend_details_validator, + 'paper_content_add_member_details': EventDetails._paper_content_add_member_details_validator, + 'paper_content_add_to_folder_details': EventDetails._paper_content_add_to_folder_details_validator, + 'paper_content_archive_details': EventDetails._paper_content_archive_details_validator, + 'paper_content_change_subscription_details': EventDetails._paper_content_change_subscription_details_validator, + 'paper_content_create_details': EventDetails._paper_content_create_details_validator, + 'paper_content_permanently_delete_details': EventDetails._paper_content_permanently_delete_details_validator, + 'paper_content_remove_from_folder_details': EventDetails._paper_content_remove_from_folder_details_validator, + 'paper_content_remove_member_details': EventDetails._paper_content_remove_member_details_validator, + 'paper_content_rename_details': EventDetails._paper_content_rename_details_validator, + 'paper_content_restore_details': EventDetails._paper_content_restore_details_validator, + 'paper_doc_add_comment_details': EventDetails._paper_doc_add_comment_details_validator, + 'paper_doc_change_member_role_details': EventDetails._paper_doc_change_member_role_details_validator, + 'paper_doc_change_sharing_policy_details': EventDetails._paper_doc_change_sharing_policy_details_validator, + 'paper_doc_deleted_details': EventDetails._paper_doc_deleted_details_validator, + 'paper_doc_delete_comment_details': EventDetails._paper_doc_delete_comment_details_validator, + 'paper_doc_download_details': EventDetails._paper_doc_download_details_validator, + 'paper_doc_edit_details': EventDetails._paper_doc_edit_details_validator, + 'paper_doc_edit_comment_details': EventDetails._paper_doc_edit_comment_details_validator, + 'paper_doc_followed_details': EventDetails._paper_doc_followed_details_validator, + 'paper_doc_mention_details': EventDetails._paper_doc_mention_details_validator, + 'paper_doc_request_access_details': EventDetails._paper_doc_request_access_details_validator, + 'paper_doc_resolve_comment_details': EventDetails._paper_doc_resolve_comment_details_validator, + 'paper_doc_revert_details': EventDetails._paper_doc_revert_details_validator, + 'paper_doc_slack_share_details': EventDetails._paper_doc_slack_share_details_validator, + 'paper_doc_team_invite_details': EventDetails._paper_doc_team_invite_details_validator, + 'paper_doc_unresolve_comment_details': EventDetails._paper_doc_unresolve_comment_details_validator, + 'paper_doc_view_details': EventDetails._paper_doc_view_details_validator, + 'paper_folder_deleted_details': EventDetails._paper_folder_deleted_details_validator, + 'paper_folder_followed_details': EventDetails._paper_folder_followed_details_validator, + 'paper_folder_team_invite_details': EventDetails._paper_folder_team_invite_details_validator, + 'password_change_details': EventDetails._password_change_details_validator, + 'password_reset_details': EventDetails._password_reset_details_validator, + 'password_reset_all_details': EventDetails._password_reset_all_details_validator, + 'emm_create_exceptions_report_details': EventDetails._emm_create_exceptions_report_details_validator, + 'emm_create_usage_report_details': EventDetails._emm_create_usage_report_details_validator, + 'smart_sync_create_admin_privilege_report_details': EventDetails._smart_sync_create_admin_privilege_report_details_validator, + 'team_activity_create_report_details': EventDetails._team_activity_create_report_details_validator, + 'collection_share_details': EventDetails._collection_share_details_validator, + 'file_add_comment_details': EventDetails._file_add_comment_details_validator, + 'file_like_comment_details': EventDetails._file_like_comment_details_validator, + 'file_unlike_comment_details': EventDetails._file_unlike_comment_details_validator, + 'note_acl_invite_only_details': EventDetails._note_acl_invite_only_details_validator, + 'note_acl_link_details': EventDetails._note_acl_link_details_validator, + 'note_acl_team_link_details': EventDetails._note_acl_team_link_details_validator, + 'note_shared_details': EventDetails._note_shared_details_validator, + 'note_share_receive_details': EventDetails._note_share_receive_details_validator, + 'open_note_shared_details': EventDetails._open_note_shared_details_validator, + 'sf_add_group_details': EventDetails._sf_add_group_details_validator, + 'sf_allow_non_members_to_view_shared_links_details': EventDetails._sf_allow_non_members_to_view_shared_links_details_validator, + 'sf_invite_group_details': EventDetails._sf_invite_group_details_validator, + 'sf_nest_details': EventDetails._sf_nest_details_validator, + 'sf_team_decline_details': EventDetails._sf_team_decline_details_validator, + 'sf_team_grant_access_details': EventDetails._sf_team_grant_access_details_validator, + 'sf_team_invite_details': EventDetails._sf_team_invite_details_validator, + 'sf_team_invite_change_role_details': EventDetails._sf_team_invite_change_role_details_validator, + 'sf_team_join_details': EventDetails._sf_team_join_details_validator, + 'sf_team_join_from_oob_link_details': EventDetails._sf_team_join_from_oob_link_details_validator, + 'sf_team_uninvite_details': EventDetails._sf_team_uninvite_details_validator, + 'shared_content_add_invitees_details': EventDetails._shared_content_add_invitees_details_validator, + 'shared_content_add_link_expiry_details': EventDetails._shared_content_add_link_expiry_details_validator, + 'shared_content_add_link_password_details': EventDetails._shared_content_add_link_password_details_validator, + 'shared_content_add_member_details': EventDetails._shared_content_add_member_details_validator, + 'shared_content_change_downloads_policy_details': EventDetails._shared_content_change_downloads_policy_details_validator, + 'shared_content_change_invitee_role_details': EventDetails._shared_content_change_invitee_role_details_validator, + 'shared_content_change_link_audience_details': EventDetails._shared_content_change_link_audience_details_validator, + 'shared_content_change_link_expiry_details': EventDetails._shared_content_change_link_expiry_details_validator, + 'shared_content_change_link_password_details': EventDetails._shared_content_change_link_password_details_validator, + 'shared_content_change_member_role_details': EventDetails._shared_content_change_member_role_details_validator, + 'shared_content_change_viewer_info_policy_details': EventDetails._shared_content_change_viewer_info_policy_details_validator, + 'shared_content_claim_invitation_details': EventDetails._shared_content_claim_invitation_details_validator, + 'shared_content_copy_details': EventDetails._shared_content_copy_details_validator, + 'shared_content_download_details': EventDetails._shared_content_download_details_validator, + 'shared_content_relinquish_membership_details': EventDetails._shared_content_relinquish_membership_details_validator, + 'shared_content_remove_invitee_details': EventDetails._shared_content_remove_invitee_details_validator, + 'shared_content_remove_link_expiry_details': EventDetails._shared_content_remove_link_expiry_details_validator, + 'shared_content_remove_link_password_details': EventDetails._shared_content_remove_link_password_details_validator, + 'shared_content_remove_member_details': EventDetails._shared_content_remove_member_details_validator, + 'shared_content_request_access_details': EventDetails._shared_content_request_access_details_validator, + 'shared_content_unshare_details': EventDetails._shared_content_unshare_details_validator, + 'shared_content_view_details': EventDetails._shared_content_view_details_validator, + 'shared_folder_change_confidentiality_details': EventDetails._shared_folder_change_confidentiality_details_validator, + 'shared_folder_change_link_policy_details': EventDetails._shared_folder_change_link_policy_details_validator, + 'shared_folder_change_member_management_policy_details': EventDetails._shared_folder_change_member_management_policy_details_validator, + 'shared_folder_change_member_policy_details': EventDetails._shared_folder_change_member_policy_details_validator, + 'shared_folder_create_details': EventDetails._shared_folder_create_details_validator, + 'shared_folder_mount_details': EventDetails._shared_folder_mount_details_validator, + 'shared_folder_transfer_ownership_details': EventDetails._shared_folder_transfer_ownership_details_validator, + 'shared_folder_unmount_details': EventDetails._shared_folder_unmount_details_validator, + 'shared_note_opened_details': EventDetails._shared_note_opened_details_validator, + 'shmodel_app_create_details': EventDetails._shmodel_app_create_details_validator, + 'shmodel_create_details': EventDetails._shmodel_create_details_validator, + 'shmodel_disable_details': EventDetails._shmodel_disable_details_validator, + 'shmodel_fb_share_details': EventDetails._shmodel_fb_share_details_validator, + 'shmodel_group_share_details': EventDetails._shmodel_group_share_details_validator, + 'shmodel_remove_expiration_details': EventDetails._shmodel_remove_expiration_details_validator, + 'shmodel_set_expiration_details': EventDetails._shmodel_set_expiration_details_validator, + 'shmodel_team_copy_details': EventDetails._shmodel_team_copy_details_validator, + 'shmodel_team_download_details': EventDetails._shmodel_team_download_details_validator, + 'shmodel_team_share_details': EventDetails._shmodel_team_share_details_validator, + 'shmodel_team_view_details': EventDetails._shmodel_team_view_details_validator, + 'shmodel_visibility_password_details': EventDetails._shmodel_visibility_password_details_validator, + 'shmodel_visibility_public_details': EventDetails._shmodel_visibility_public_details_validator, + 'shmodel_visibility_team_only_details': EventDetails._shmodel_visibility_team_only_details_validator, + 'remove_logout_url_details': EventDetails._remove_logout_url_details_validator, + 'remove_sso_url_details': EventDetails._remove_sso_url_details_validator, + 'sso_change_cert_details': EventDetails._sso_change_cert_details_validator, + 'sso_change_login_url_details': EventDetails._sso_change_login_url_details_validator, + 'sso_change_logout_url_details': EventDetails._sso_change_logout_url_details_validator, + 'sso_change_saml_identity_mode_details': EventDetails._sso_change_saml_identity_mode_details_validator, + 'team_folder_change_status_details': EventDetails._team_folder_change_status_details_validator, + 'team_folder_create_details': EventDetails._team_folder_create_details_validator, + 'team_folder_downgrade_details': EventDetails._team_folder_downgrade_details_validator, + 'team_folder_permanently_delete_details': EventDetails._team_folder_permanently_delete_details_validator, + 'team_folder_rename_details': EventDetails._team_folder_rename_details_validator, + 'account_capture_change_policy_details': EventDetails._account_capture_change_policy_details_validator, + 'allow_download_disabled_details': EventDetails._allow_download_disabled_details_validator, + 'allow_download_enabled_details': EventDetails._allow_download_enabled_details_validator, + 'data_placement_restriction_change_policy_details': EventDetails._data_placement_restriction_change_policy_details_validator, + 'data_placement_restriction_satisfy_policy_details': EventDetails._data_placement_restriction_satisfy_policy_details_validator, + 'device_approvals_change_desktop_policy_details': EventDetails._device_approvals_change_desktop_policy_details_validator, + 'device_approvals_change_mobile_policy_details': EventDetails._device_approvals_change_mobile_policy_details_validator, + 'device_approvals_change_overage_action_details': EventDetails._device_approvals_change_overage_action_details_validator, + 'device_approvals_change_unlink_action_details': EventDetails._device_approvals_change_unlink_action_details_validator, + 'emm_add_exception_details': EventDetails._emm_add_exception_details_validator, + 'emm_change_policy_details': EventDetails._emm_change_policy_details_validator, + 'emm_remove_exception_details': EventDetails._emm_remove_exception_details_validator, + 'extended_version_history_change_policy_details': EventDetails._extended_version_history_change_policy_details_validator, + 'file_comments_change_policy_details': EventDetails._file_comments_change_policy_details_validator, + 'file_requests_change_policy_details': EventDetails._file_requests_change_policy_details_validator, + 'file_requests_emails_enabled_details': EventDetails._file_requests_emails_enabled_details_validator, + 'file_requests_emails_restricted_to_team_only_details': EventDetails._file_requests_emails_restricted_to_team_only_details_validator, + 'google_sso_change_policy_details': EventDetails._google_sso_change_policy_details_validator, + 'group_user_management_change_policy_details': EventDetails._group_user_management_change_policy_details_validator, + 'member_requests_change_policy_details': EventDetails._member_requests_change_policy_details_validator, + 'member_space_limits_add_exception_details': EventDetails._member_space_limits_add_exception_details_validator, + 'member_space_limits_change_policy_details': EventDetails._member_space_limits_change_policy_details_validator, + 'member_space_limits_remove_exception_details': EventDetails._member_space_limits_remove_exception_details_validator, + 'member_suggestions_change_policy_details': EventDetails._member_suggestions_change_policy_details_validator, + 'microsoft_office_addin_change_policy_details': EventDetails._microsoft_office_addin_change_policy_details_validator, + 'network_control_change_policy_details': EventDetails._network_control_change_policy_details_validator, + 'paper_change_deployment_policy_details': EventDetails._paper_change_deployment_policy_details_validator, + 'paper_change_member_policy_details': EventDetails._paper_change_member_policy_details_validator, + 'paper_change_policy_details': EventDetails._paper_change_policy_details_validator, + 'permanent_delete_change_policy_details': EventDetails._permanent_delete_change_policy_details_validator, + 'sharing_change_folder_join_policy_details': EventDetails._sharing_change_folder_join_policy_details_validator, + 'sharing_change_link_policy_details': EventDetails._sharing_change_link_policy_details_validator, + 'sharing_change_member_policy_details': EventDetails._sharing_change_member_policy_details_validator, + 'smart_sync_change_policy_details': EventDetails._smart_sync_change_policy_details_validator, + 'sso_change_policy_details': EventDetails._sso_change_policy_details_validator, + 'tfa_change_policy_details': EventDetails._tfa_change_policy_details_validator, + 'two_account_change_policy_details': EventDetails._two_account_change_policy_details_validator, + 'web_sessions_change_fixed_length_policy_details': EventDetails._web_sessions_change_fixed_length_policy_details_validator, + 'web_sessions_change_idle_length_policy_details': EventDetails._web_sessions_change_idle_length_policy_details_validator, + 'team_profile_add_logo_details': EventDetails._team_profile_add_logo_details_validator, + 'team_profile_change_logo_details': EventDetails._team_profile_change_logo_details_validator, + 'team_profile_change_name_details': EventDetails._team_profile_change_name_details_validator, + 'team_profile_remove_logo_details': EventDetails._team_profile_remove_logo_details_validator, + 'tfa_add_backup_phone_details': EventDetails._tfa_add_backup_phone_details_validator, + 'tfa_add_security_key_details': EventDetails._tfa_add_security_key_details_validator, + 'tfa_change_backup_phone_details': EventDetails._tfa_change_backup_phone_details_validator, + 'tfa_change_status_details': EventDetails._tfa_change_status_details_validator, + 'tfa_remove_backup_phone_details': EventDetails._tfa_remove_backup_phone_details_validator, + 'tfa_remove_security_key_details': EventDetails._tfa_remove_security_key_details_validator, + 'tfa_reset_details': EventDetails._tfa_reset_details_validator, + 'missing_details': EventDetails._missing_details_validator, + 'other': EventDetails._other_validator, +} + +EventDetails.other = EventDetails('other') + +EventType._member_change_membership_type_validator = bv.Void() +EventType._member_permanently_delete_account_contents_validator = bv.Void() +EventType._member_space_limits_change_status_validator = bv.Void() +EventType._member_transfer_account_contents_validator = bv.Void() +EventType._paper_enabled_users_group_addition_validator = bv.Void() +EventType._paper_enabled_users_group_removal_validator = bv.Void() +EventType._paper_external_view_allow_validator = bv.Void() +EventType._paper_external_view_default_team_validator = bv.Void() +EventType._paper_external_view_forbid_validator = bv.Void() +EventType._sf_external_invite_warn_validator = bv.Void() +EventType._team_merge_validator = bv.Void() +EventType._app_link_team_validator = bv.Void() +EventType._app_link_user_validator = bv.Void() +EventType._app_unlink_team_validator = bv.Void() +EventType._app_unlink_user_validator = bv.Void() +EventType._device_change_ip_desktop_validator = bv.Void() +EventType._device_change_ip_mobile_validator = bv.Void() +EventType._device_change_ip_web_validator = bv.Void() +EventType._device_delete_on_unlink_fail_validator = bv.Void() +EventType._device_delete_on_unlink_success_validator = bv.Void() +EventType._device_link_fail_validator = bv.Void() +EventType._device_link_success_validator = bv.Void() +EventType._device_management_disabled_validator = bv.Void() +EventType._device_management_enabled_validator = bv.Void() +EventType._device_unlink_validator = bv.Void() +EventType._emm_refresh_auth_token_validator = bv.Void() +EventType._account_capture_change_availability_validator = bv.Void() +EventType._account_capture_migrate_account_validator = bv.Void() +EventType._account_capture_relinquish_account_validator = bv.Void() +EventType._disabled_domain_invites_validator = bv.Void() +EventType._domain_invites_approve_request_to_join_team_validator = bv.Void() +EventType._domain_invites_decline_request_to_join_team_validator = bv.Void() +EventType._domain_invites_email_existing_users_validator = bv.Void() +EventType._domain_invites_request_to_join_team_validator = bv.Void() +EventType._domain_invites_set_invite_new_user_pref_to_no_validator = bv.Void() +EventType._domain_invites_set_invite_new_user_pref_to_yes_validator = bv.Void() +EventType._domain_verification_add_domain_fail_validator = bv.Void() +EventType._domain_verification_add_domain_success_validator = bv.Void() +EventType._domain_verification_remove_domain_validator = bv.Void() +EventType._enabled_domain_invites_validator = bv.Void() +EventType._create_folder_validator = bv.Void() +EventType._file_add_validator = bv.Void() +EventType._file_copy_validator = bv.Void() +EventType._file_delete_validator = bv.Void() +EventType._file_download_validator = bv.Void() +EventType._file_edit_validator = bv.Void() +EventType._file_get_copy_reference_validator = bv.Void() +EventType._file_move_validator = bv.Void() +EventType._file_permanently_delete_validator = bv.Void() +EventType._file_preview_validator = bv.Void() +EventType._file_rename_validator = bv.Void() +EventType._file_restore_validator = bv.Void() +EventType._file_revert_validator = bv.Void() +EventType._file_rollback_changes_validator = bv.Void() +EventType._file_save_copy_reference_validator = bv.Void() +EventType._file_request_add_deadline_validator = bv.Void() +EventType._file_request_change_folder_validator = bv.Void() +EventType._file_request_change_title_validator = bv.Void() +EventType._file_request_close_validator = bv.Void() +EventType._file_request_create_validator = bv.Void() +EventType._file_request_receive_file_validator = bv.Void() +EventType._file_request_remove_deadline_validator = bv.Void() +EventType._file_request_send_validator = bv.Void() +EventType._group_add_external_id_validator = bv.Void() +EventType._group_add_member_validator = bv.Void() +EventType._group_change_external_id_validator = bv.Void() +EventType._group_change_management_type_validator = bv.Void() +EventType._group_change_member_role_validator = bv.Void() +EventType._group_create_validator = bv.Void() +EventType._group_delete_validator = bv.Void() +EventType._group_description_updated_validator = bv.Void() +EventType._group_join_policy_updated_validator = bv.Void() +EventType._group_moved_validator = bv.Void() +EventType._group_remove_external_id_validator = bv.Void() +EventType._group_remove_member_validator = bv.Void() +EventType._group_rename_validator = bv.Void() +EventType._emm_login_success_validator = bv.Void() +EventType._logout_validator = bv.Void() +EventType._password_login_fail_validator = bv.Void() +EventType._password_login_success_validator = bv.Void() +EventType._reseller_support_session_end_validator = bv.Void() +EventType._reseller_support_session_start_validator = bv.Void() +EventType._sign_in_as_session_end_validator = bv.Void() +EventType._sign_in_as_session_start_validator = bv.Void() +EventType._sso_login_fail_validator = bv.Void() +EventType._member_add_name_validator = bv.Void() +EventType._member_change_email_validator = bv.Void() +EventType._member_change_name_validator = bv.Void() +EventType._member_change_role_validator = bv.Void() +EventType._member_invite_validator = bv.Void() +EventType._member_join_validator = bv.Void() +EventType._member_leave_validator = bv.Void() +EventType._member_recover_validator = bv.Void() +EventType._member_suggest_validator = bv.Void() +EventType._member_suspend_validator = bv.Void() +EventType._member_unsuspend_validator = bv.Void() +EventType._paper_content_add_member_validator = bv.Void() +EventType._paper_content_add_to_folder_validator = bv.Void() +EventType._paper_content_archive_validator = bv.Void() +EventType._paper_content_change_subscription_validator = bv.Void() +EventType._paper_content_create_validator = bv.Void() +EventType._paper_content_permanently_delete_validator = bv.Void() +EventType._paper_content_remove_from_folder_validator = bv.Void() +EventType._paper_content_remove_member_validator = bv.Void() +EventType._paper_content_rename_validator = bv.Void() +EventType._paper_content_restore_validator = bv.Void() +EventType._paper_doc_add_comment_validator = bv.Void() +EventType._paper_doc_change_member_role_validator = bv.Void() +EventType._paper_doc_change_sharing_policy_validator = bv.Void() +EventType._paper_doc_deleted_validator = bv.Void() +EventType._paper_doc_delete_comment_validator = bv.Void() +EventType._paper_doc_download_validator = bv.Void() +EventType._paper_doc_edit_validator = bv.Void() +EventType._paper_doc_edit_comment_validator = bv.Void() +EventType._paper_doc_followed_validator = bv.Void() +EventType._paper_doc_mention_validator = bv.Void() +EventType._paper_doc_request_access_validator = bv.Void() +EventType._paper_doc_resolve_comment_validator = bv.Void() +EventType._paper_doc_revert_validator = bv.Void() +EventType._paper_doc_slack_share_validator = bv.Void() +EventType._paper_doc_team_invite_validator = bv.Void() +EventType._paper_doc_unresolve_comment_validator = bv.Void() +EventType._paper_doc_view_validator = bv.Void() +EventType._paper_folder_deleted_validator = bv.Void() +EventType._paper_folder_followed_validator = bv.Void() +EventType._paper_folder_team_invite_validator = bv.Void() +EventType._password_change_validator = bv.Void() +EventType._password_reset_validator = bv.Void() +EventType._password_reset_all_validator = bv.Void() +EventType._emm_create_exceptions_report_validator = bv.Void() +EventType._emm_create_usage_report_validator = bv.Void() +EventType._smart_sync_create_admin_privilege_report_validator = bv.Void() +EventType._team_activity_create_report_validator = bv.Void() +EventType._collection_share_validator = bv.Void() +EventType._file_add_comment_validator = bv.Void() +EventType._file_like_comment_validator = bv.Void() +EventType._file_unlike_comment_validator = bv.Void() +EventType._note_acl_invite_only_validator = bv.Void() +EventType._note_acl_link_validator = bv.Void() +EventType._note_acl_team_link_validator = bv.Void() +EventType._note_shared_validator = bv.Void() +EventType._note_share_receive_validator = bv.Void() +EventType._open_note_shared_validator = bv.Void() +EventType._sf_add_group_validator = bv.Void() +EventType._sf_allow_non_members_to_view_shared_links_validator = bv.Void() +EventType._sf_invite_group_validator = bv.Void() +EventType._sf_nest_validator = bv.Void() +EventType._sf_team_decline_validator = bv.Void() +EventType._sf_team_grant_access_validator = bv.Void() +EventType._sf_team_invite_validator = bv.Void() +EventType._sf_team_invite_change_role_validator = bv.Void() +EventType._sf_team_join_validator = bv.Void() +EventType._sf_team_join_from_oob_link_validator = bv.Void() +EventType._sf_team_uninvite_validator = bv.Void() +EventType._shared_content_add_invitees_validator = bv.Void() +EventType._shared_content_add_link_expiry_validator = bv.Void() +EventType._shared_content_add_link_password_validator = bv.Void() +EventType._shared_content_add_member_validator = bv.Void() +EventType._shared_content_change_downloads_policy_validator = bv.Void() +EventType._shared_content_change_invitee_role_validator = bv.Void() +EventType._shared_content_change_link_audience_validator = bv.Void() +EventType._shared_content_change_link_expiry_validator = bv.Void() +EventType._shared_content_change_link_password_validator = bv.Void() +EventType._shared_content_change_member_role_validator = bv.Void() +EventType._shared_content_change_viewer_info_policy_validator = bv.Void() +EventType._shared_content_claim_invitation_validator = bv.Void() +EventType._shared_content_copy_validator = bv.Void() +EventType._shared_content_download_validator = bv.Void() +EventType._shared_content_relinquish_membership_validator = bv.Void() +EventType._shared_content_remove_invitee_validator = bv.Void() +EventType._shared_content_remove_link_expiry_validator = bv.Void() +EventType._shared_content_remove_link_password_validator = bv.Void() +EventType._shared_content_remove_member_validator = bv.Void() +EventType._shared_content_request_access_validator = bv.Void() +EventType._shared_content_unshare_validator = bv.Void() +EventType._shared_content_view_validator = bv.Void() +EventType._shared_folder_change_confidentiality_validator = bv.Void() +EventType._shared_folder_change_link_policy_validator = bv.Void() +EventType._shared_folder_change_member_management_policy_validator = bv.Void() +EventType._shared_folder_change_member_policy_validator = bv.Void() +EventType._shared_folder_create_validator = bv.Void() +EventType._shared_folder_mount_validator = bv.Void() +EventType._shared_folder_transfer_ownership_validator = bv.Void() +EventType._shared_folder_unmount_validator = bv.Void() +EventType._shared_note_opened_validator = bv.Void() +EventType._shmodel_app_create_validator = bv.Void() +EventType._shmodel_create_validator = bv.Void() +EventType._shmodel_disable_validator = bv.Void() +EventType._shmodel_fb_share_validator = bv.Void() +EventType._shmodel_group_share_validator = bv.Void() +EventType._shmodel_remove_expiration_validator = bv.Void() +EventType._shmodel_set_expiration_validator = bv.Void() +EventType._shmodel_team_copy_validator = bv.Void() +EventType._shmodel_team_download_validator = bv.Void() +EventType._shmodel_team_share_validator = bv.Void() +EventType._shmodel_team_view_validator = bv.Void() +EventType._shmodel_visibility_password_validator = bv.Void() +EventType._shmodel_visibility_public_validator = bv.Void() +EventType._shmodel_visibility_team_only_validator = bv.Void() +EventType._remove_logout_url_validator = bv.Void() +EventType._remove_sso_url_validator = bv.Void() +EventType._sso_change_cert_validator = bv.Void() +EventType._sso_change_login_url_validator = bv.Void() +EventType._sso_change_logout_url_validator = bv.Void() +EventType._sso_change_saml_identity_mode_validator = bv.Void() +EventType._team_folder_change_status_validator = bv.Void() +EventType._team_folder_create_validator = bv.Void() +EventType._team_folder_downgrade_validator = bv.Void() +EventType._team_folder_permanently_delete_validator = bv.Void() +EventType._team_folder_rename_validator = bv.Void() +EventType._account_capture_change_policy_validator = bv.Void() +EventType._allow_download_disabled_validator = bv.Void() +EventType._allow_download_enabled_validator = bv.Void() +EventType._data_placement_restriction_change_policy_validator = bv.Void() +EventType._data_placement_restriction_satisfy_policy_validator = bv.Void() +EventType._device_approvals_change_desktop_policy_validator = bv.Void() +EventType._device_approvals_change_mobile_policy_validator = bv.Void() +EventType._device_approvals_change_overage_action_validator = bv.Void() +EventType._device_approvals_change_unlink_action_validator = bv.Void() +EventType._emm_add_exception_validator = bv.Void() +EventType._emm_change_policy_validator = bv.Void() +EventType._emm_remove_exception_validator = bv.Void() +EventType._extended_version_history_change_policy_validator = bv.Void() +EventType._file_comments_change_policy_validator = bv.Void() +EventType._file_requests_change_policy_validator = bv.Void() +EventType._file_requests_emails_enabled_validator = bv.Void() +EventType._file_requests_emails_restricted_to_team_only_validator = bv.Void() +EventType._google_sso_change_policy_validator = bv.Void() +EventType._group_user_management_change_policy_validator = bv.Void() +EventType._member_requests_change_policy_validator = bv.Void() +EventType._member_space_limits_add_exception_validator = bv.Void() +EventType._member_space_limits_change_policy_validator = bv.Void() +EventType._member_space_limits_remove_exception_validator = bv.Void() +EventType._member_suggestions_change_policy_validator = bv.Void() +EventType._microsoft_office_addin_change_policy_validator = bv.Void() +EventType._network_control_change_policy_validator = bv.Void() +EventType._paper_change_deployment_policy_validator = bv.Void() +EventType._paper_change_member_policy_validator = bv.Void() +EventType._paper_change_policy_validator = bv.Void() +EventType._permanent_delete_change_policy_validator = bv.Void() +EventType._sharing_change_folder_join_policy_validator = bv.Void() +EventType._sharing_change_link_policy_validator = bv.Void() +EventType._sharing_change_member_policy_validator = bv.Void() +EventType._smart_sync_change_policy_validator = bv.Void() +EventType._sso_change_policy_validator = bv.Void() +EventType._tfa_change_policy_validator = bv.Void() +EventType._two_account_change_policy_validator = bv.Void() +EventType._web_sessions_change_fixed_length_policy_validator = bv.Void() +EventType._web_sessions_change_idle_length_policy_validator = bv.Void() +EventType._team_profile_add_logo_validator = bv.Void() +EventType._team_profile_change_logo_validator = bv.Void() +EventType._team_profile_change_name_validator = bv.Void() +EventType._team_profile_remove_logo_validator = bv.Void() +EventType._tfa_add_backup_phone_validator = bv.Void() +EventType._tfa_add_security_key_validator = bv.Void() +EventType._tfa_change_backup_phone_validator = bv.Void() +EventType._tfa_change_status_validator = bv.Void() +EventType._tfa_remove_backup_phone_validator = bv.Void() +EventType._tfa_remove_security_key_validator = bv.Void() +EventType._tfa_reset_validator = bv.Void() +EventType._other_validator = bv.Void() +EventType._tagmap = { + 'member_change_membership_type': EventType._member_change_membership_type_validator, + 'member_permanently_delete_account_contents': EventType._member_permanently_delete_account_contents_validator, + 'member_space_limits_change_status': EventType._member_space_limits_change_status_validator, + 'member_transfer_account_contents': EventType._member_transfer_account_contents_validator, + 'paper_enabled_users_group_addition': EventType._paper_enabled_users_group_addition_validator, + 'paper_enabled_users_group_removal': EventType._paper_enabled_users_group_removal_validator, + 'paper_external_view_allow': EventType._paper_external_view_allow_validator, + 'paper_external_view_default_team': EventType._paper_external_view_default_team_validator, + 'paper_external_view_forbid': EventType._paper_external_view_forbid_validator, + 'sf_external_invite_warn': EventType._sf_external_invite_warn_validator, + 'team_merge': EventType._team_merge_validator, + 'app_link_team': EventType._app_link_team_validator, + 'app_link_user': EventType._app_link_user_validator, + 'app_unlink_team': EventType._app_unlink_team_validator, + 'app_unlink_user': EventType._app_unlink_user_validator, + 'device_change_ip_desktop': EventType._device_change_ip_desktop_validator, + 'device_change_ip_mobile': EventType._device_change_ip_mobile_validator, + 'device_change_ip_web': EventType._device_change_ip_web_validator, + 'device_delete_on_unlink_fail': EventType._device_delete_on_unlink_fail_validator, + 'device_delete_on_unlink_success': EventType._device_delete_on_unlink_success_validator, + 'device_link_fail': EventType._device_link_fail_validator, + 'device_link_success': EventType._device_link_success_validator, + 'device_management_disabled': EventType._device_management_disabled_validator, + 'device_management_enabled': EventType._device_management_enabled_validator, + 'device_unlink': EventType._device_unlink_validator, + 'emm_refresh_auth_token': EventType._emm_refresh_auth_token_validator, + 'account_capture_change_availability': EventType._account_capture_change_availability_validator, + 'account_capture_migrate_account': EventType._account_capture_migrate_account_validator, + 'account_capture_relinquish_account': EventType._account_capture_relinquish_account_validator, + 'disabled_domain_invites': EventType._disabled_domain_invites_validator, + 'domain_invites_approve_request_to_join_team': EventType._domain_invites_approve_request_to_join_team_validator, + 'domain_invites_decline_request_to_join_team': EventType._domain_invites_decline_request_to_join_team_validator, + 'domain_invites_email_existing_users': EventType._domain_invites_email_existing_users_validator, + 'domain_invites_request_to_join_team': EventType._domain_invites_request_to_join_team_validator, + 'domain_invites_set_invite_new_user_pref_to_no': EventType._domain_invites_set_invite_new_user_pref_to_no_validator, + 'domain_invites_set_invite_new_user_pref_to_yes': EventType._domain_invites_set_invite_new_user_pref_to_yes_validator, + 'domain_verification_add_domain_fail': EventType._domain_verification_add_domain_fail_validator, + 'domain_verification_add_domain_success': EventType._domain_verification_add_domain_success_validator, + 'domain_verification_remove_domain': EventType._domain_verification_remove_domain_validator, + 'enabled_domain_invites': EventType._enabled_domain_invites_validator, + 'create_folder': EventType._create_folder_validator, + 'file_add': EventType._file_add_validator, + 'file_copy': EventType._file_copy_validator, + 'file_delete': EventType._file_delete_validator, + 'file_download': EventType._file_download_validator, + 'file_edit': EventType._file_edit_validator, + 'file_get_copy_reference': EventType._file_get_copy_reference_validator, + 'file_move': EventType._file_move_validator, + 'file_permanently_delete': EventType._file_permanently_delete_validator, + 'file_preview': EventType._file_preview_validator, + 'file_rename': EventType._file_rename_validator, + 'file_restore': EventType._file_restore_validator, + 'file_revert': EventType._file_revert_validator, + 'file_rollback_changes': EventType._file_rollback_changes_validator, + 'file_save_copy_reference': EventType._file_save_copy_reference_validator, + 'file_request_add_deadline': EventType._file_request_add_deadline_validator, + 'file_request_change_folder': EventType._file_request_change_folder_validator, + 'file_request_change_title': EventType._file_request_change_title_validator, + 'file_request_close': EventType._file_request_close_validator, + 'file_request_create': EventType._file_request_create_validator, + 'file_request_receive_file': EventType._file_request_receive_file_validator, + 'file_request_remove_deadline': EventType._file_request_remove_deadline_validator, + 'file_request_send': EventType._file_request_send_validator, + 'group_add_external_id': EventType._group_add_external_id_validator, + 'group_add_member': EventType._group_add_member_validator, + 'group_change_external_id': EventType._group_change_external_id_validator, + 'group_change_management_type': EventType._group_change_management_type_validator, + 'group_change_member_role': EventType._group_change_member_role_validator, + 'group_create': EventType._group_create_validator, + 'group_delete': EventType._group_delete_validator, + 'group_description_updated': EventType._group_description_updated_validator, + 'group_join_policy_updated': EventType._group_join_policy_updated_validator, + 'group_moved': EventType._group_moved_validator, + 'group_remove_external_id': EventType._group_remove_external_id_validator, + 'group_remove_member': EventType._group_remove_member_validator, + 'group_rename': EventType._group_rename_validator, + 'emm_login_success': EventType._emm_login_success_validator, + 'logout': EventType._logout_validator, + 'password_login_fail': EventType._password_login_fail_validator, + 'password_login_success': EventType._password_login_success_validator, + 'reseller_support_session_end': EventType._reseller_support_session_end_validator, + 'reseller_support_session_start': EventType._reseller_support_session_start_validator, + 'sign_in_as_session_end': EventType._sign_in_as_session_end_validator, + 'sign_in_as_session_start': EventType._sign_in_as_session_start_validator, + 'sso_login_fail': EventType._sso_login_fail_validator, + 'member_add_name': EventType._member_add_name_validator, + 'member_change_email': EventType._member_change_email_validator, + 'member_change_name': EventType._member_change_name_validator, + 'member_change_role': EventType._member_change_role_validator, + 'member_invite': EventType._member_invite_validator, + 'member_join': EventType._member_join_validator, + 'member_leave': EventType._member_leave_validator, + 'member_recover': EventType._member_recover_validator, + 'member_suggest': EventType._member_suggest_validator, + 'member_suspend': EventType._member_suspend_validator, + 'member_unsuspend': EventType._member_unsuspend_validator, + 'paper_content_add_member': EventType._paper_content_add_member_validator, + 'paper_content_add_to_folder': EventType._paper_content_add_to_folder_validator, + 'paper_content_archive': EventType._paper_content_archive_validator, + 'paper_content_change_subscription': EventType._paper_content_change_subscription_validator, + 'paper_content_create': EventType._paper_content_create_validator, + 'paper_content_permanently_delete': EventType._paper_content_permanently_delete_validator, + 'paper_content_remove_from_folder': EventType._paper_content_remove_from_folder_validator, + 'paper_content_remove_member': EventType._paper_content_remove_member_validator, + 'paper_content_rename': EventType._paper_content_rename_validator, + 'paper_content_restore': EventType._paper_content_restore_validator, + 'paper_doc_add_comment': EventType._paper_doc_add_comment_validator, + 'paper_doc_change_member_role': EventType._paper_doc_change_member_role_validator, + 'paper_doc_change_sharing_policy': EventType._paper_doc_change_sharing_policy_validator, + 'paper_doc_deleted': EventType._paper_doc_deleted_validator, + 'paper_doc_delete_comment': EventType._paper_doc_delete_comment_validator, + 'paper_doc_download': EventType._paper_doc_download_validator, + 'paper_doc_edit': EventType._paper_doc_edit_validator, + 'paper_doc_edit_comment': EventType._paper_doc_edit_comment_validator, + 'paper_doc_followed': EventType._paper_doc_followed_validator, + 'paper_doc_mention': EventType._paper_doc_mention_validator, + 'paper_doc_request_access': EventType._paper_doc_request_access_validator, + 'paper_doc_resolve_comment': EventType._paper_doc_resolve_comment_validator, + 'paper_doc_revert': EventType._paper_doc_revert_validator, + 'paper_doc_slack_share': EventType._paper_doc_slack_share_validator, + 'paper_doc_team_invite': EventType._paper_doc_team_invite_validator, + 'paper_doc_unresolve_comment': EventType._paper_doc_unresolve_comment_validator, + 'paper_doc_view': EventType._paper_doc_view_validator, + 'paper_folder_deleted': EventType._paper_folder_deleted_validator, + 'paper_folder_followed': EventType._paper_folder_followed_validator, + 'paper_folder_team_invite': EventType._paper_folder_team_invite_validator, + 'password_change': EventType._password_change_validator, + 'password_reset': EventType._password_reset_validator, + 'password_reset_all': EventType._password_reset_all_validator, + 'emm_create_exceptions_report': EventType._emm_create_exceptions_report_validator, + 'emm_create_usage_report': EventType._emm_create_usage_report_validator, + 'smart_sync_create_admin_privilege_report': EventType._smart_sync_create_admin_privilege_report_validator, + 'team_activity_create_report': EventType._team_activity_create_report_validator, + 'collection_share': EventType._collection_share_validator, + 'file_add_comment': EventType._file_add_comment_validator, + 'file_like_comment': EventType._file_like_comment_validator, + 'file_unlike_comment': EventType._file_unlike_comment_validator, + 'note_acl_invite_only': EventType._note_acl_invite_only_validator, + 'note_acl_link': EventType._note_acl_link_validator, + 'note_acl_team_link': EventType._note_acl_team_link_validator, + 'note_shared': EventType._note_shared_validator, + 'note_share_receive': EventType._note_share_receive_validator, + 'open_note_shared': EventType._open_note_shared_validator, + 'sf_add_group': EventType._sf_add_group_validator, + 'sf_allow_non_members_to_view_shared_links': EventType._sf_allow_non_members_to_view_shared_links_validator, + 'sf_invite_group': EventType._sf_invite_group_validator, + 'sf_nest': EventType._sf_nest_validator, + 'sf_team_decline': EventType._sf_team_decline_validator, + 'sf_team_grant_access': EventType._sf_team_grant_access_validator, + 'sf_team_invite': EventType._sf_team_invite_validator, + 'sf_team_invite_change_role': EventType._sf_team_invite_change_role_validator, + 'sf_team_join': EventType._sf_team_join_validator, + 'sf_team_join_from_oob_link': EventType._sf_team_join_from_oob_link_validator, + 'sf_team_uninvite': EventType._sf_team_uninvite_validator, + 'shared_content_add_invitees': EventType._shared_content_add_invitees_validator, + 'shared_content_add_link_expiry': EventType._shared_content_add_link_expiry_validator, + 'shared_content_add_link_password': EventType._shared_content_add_link_password_validator, + 'shared_content_add_member': EventType._shared_content_add_member_validator, + 'shared_content_change_downloads_policy': EventType._shared_content_change_downloads_policy_validator, + 'shared_content_change_invitee_role': EventType._shared_content_change_invitee_role_validator, + 'shared_content_change_link_audience': EventType._shared_content_change_link_audience_validator, + 'shared_content_change_link_expiry': EventType._shared_content_change_link_expiry_validator, + 'shared_content_change_link_password': EventType._shared_content_change_link_password_validator, + 'shared_content_change_member_role': EventType._shared_content_change_member_role_validator, + 'shared_content_change_viewer_info_policy': EventType._shared_content_change_viewer_info_policy_validator, + 'shared_content_claim_invitation': EventType._shared_content_claim_invitation_validator, + 'shared_content_copy': EventType._shared_content_copy_validator, + 'shared_content_download': EventType._shared_content_download_validator, + 'shared_content_relinquish_membership': EventType._shared_content_relinquish_membership_validator, + 'shared_content_remove_invitee': EventType._shared_content_remove_invitee_validator, + 'shared_content_remove_link_expiry': EventType._shared_content_remove_link_expiry_validator, + 'shared_content_remove_link_password': EventType._shared_content_remove_link_password_validator, + 'shared_content_remove_member': EventType._shared_content_remove_member_validator, + 'shared_content_request_access': EventType._shared_content_request_access_validator, + 'shared_content_unshare': EventType._shared_content_unshare_validator, + 'shared_content_view': EventType._shared_content_view_validator, + 'shared_folder_change_confidentiality': EventType._shared_folder_change_confidentiality_validator, + 'shared_folder_change_link_policy': EventType._shared_folder_change_link_policy_validator, + 'shared_folder_change_member_management_policy': EventType._shared_folder_change_member_management_policy_validator, + 'shared_folder_change_member_policy': EventType._shared_folder_change_member_policy_validator, + 'shared_folder_create': EventType._shared_folder_create_validator, + 'shared_folder_mount': EventType._shared_folder_mount_validator, + 'shared_folder_transfer_ownership': EventType._shared_folder_transfer_ownership_validator, + 'shared_folder_unmount': EventType._shared_folder_unmount_validator, + 'shared_note_opened': EventType._shared_note_opened_validator, + 'shmodel_app_create': EventType._shmodel_app_create_validator, + 'shmodel_create': EventType._shmodel_create_validator, + 'shmodel_disable': EventType._shmodel_disable_validator, + 'shmodel_fb_share': EventType._shmodel_fb_share_validator, + 'shmodel_group_share': EventType._shmodel_group_share_validator, + 'shmodel_remove_expiration': EventType._shmodel_remove_expiration_validator, + 'shmodel_set_expiration': EventType._shmodel_set_expiration_validator, + 'shmodel_team_copy': EventType._shmodel_team_copy_validator, + 'shmodel_team_download': EventType._shmodel_team_download_validator, + 'shmodel_team_share': EventType._shmodel_team_share_validator, + 'shmodel_team_view': EventType._shmodel_team_view_validator, + 'shmodel_visibility_password': EventType._shmodel_visibility_password_validator, + 'shmodel_visibility_public': EventType._shmodel_visibility_public_validator, + 'shmodel_visibility_team_only': EventType._shmodel_visibility_team_only_validator, + 'remove_logout_url': EventType._remove_logout_url_validator, + 'remove_sso_url': EventType._remove_sso_url_validator, + 'sso_change_cert': EventType._sso_change_cert_validator, + 'sso_change_login_url': EventType._sso_change_login_url_validator, + 'sso_change_logout_url': EventType._sso_change_logout_url_validator, + 'sso_change_saml_identity_mode': EventType._sso_change_saml_identity_mode_validator, + 'team_folder_change_status': EventType._team_folder_change_status_validator, + 'team_folder_create': EventType._team_folder_create_validator, + 'team_folder_downgrade': EventType._team_folder_downgrade_validator, + 'team_folder_permanently_delete': EventType._team_folder_permanently_delete_validator, + 'team_folder_rename': EventType._team_folder_rename_validator, + 'account_capture_change_policy': EventType._account_capture_change_policy_validator, + 'allow_download_disabled': EventType._allow_download_disabled_validator, + 'allow_download_enabled': EventType._allow_download_enabled_validator, + 'data_placement_restriction_change_policy': EventType._data_placement_restriction_change_policy_validator, + 'data_placement_restriction_satisfy_policy': EventType._data_placement_restriction_satisfy_policy_validator, + 'device_approvals_change_desktop_policy': EventType._device_approvals_change_desktop_policy_validator, + 'device_approvals_change_mobile_policy': EventType._device_approvals_change_mobile_policy_validator, + 'device_approvals_change_overage_action': EventType._device_approvals_change_overage_action_validator, + 'device_approvals_change_unlink_action': EventType._device_approvals_change_unlink_action_validator, + 'emm_add_exception': EventType._emm_add_exception_validator, + 'emm_change_policy': EventType._emm_change_policy_validator, + 'emm_remove_exception': EventType._emm_remove_exception_validator, + 'extended_version_history_change_policy': EventType._extended_version_history_change_policy_validator, + 'file_comments_change_policy': EventType._file_comments_change_policy_validator, + 'file_requests_change_policy': EventType._file_requests_change_policy_validator, + 'file_requests_emails_enabled': EventType._file_requests_emails_enabled_validator, + 'file_requests_emails_restricted_to_team_only': EventType._file_requests_emails_restricted_to_team_only_validator, + 'google_sso_change_policy': EventType._google_sso_change_policy_validator, + 'group_user_management_change_policy': EventType._group_user_management_change_policy_validator, + 'member_requests_change_policy': EventType._member_requests_change_policy_validator, + 'member_space_limits_add_exception': EventType._member_space_limits_add_exception_validator, + 'member_space_limits_change_policy': EventType._member_space_limits_change_policy_validator, + 'member_space_limits_remove_exception': EventType._member_space_limits_remove_exception_validator, + 'member_suggestions_change_policy': EventType._member_suggestions_change_policy_validator, + 'microsoft_office_addin_change_policy': EventType._microsoft_office_addin_change_policy_validator, + 'network_control_change_policy': EventType._network_control_change_policy_validator, + 'paper_change_deployment_policy': EventType._paper_change_deployment_policy_validator, + 'paper_change_member_policy': EventType._paper_change_member_policy_validator, + 'paper_change_policy': EventType._paper_change_policy_validator, + 'permanent_delete_change_policy': EventType._permanent_delete_change_policy_validator, + 'sharing_change_folder_join_policy': EventType._sharing_change_folder_join_policy_validator, + 'sharing_change_link_policy': EventType._sharing_change_link_policy_validator, + 'sharing_change_member_policy': EventType._sharing_change_member_policy_validator, + 'smart_sync_change_policy': EventType._smart_sync_change_policy_validator, + 'sso_change_policy': EventType._sso_change_policy_validator, + 'tfa_change_policy': EventType._tfa_change_policy_validator, + 'two_account_change_policy': EventType._two_account_change_policy_validator, + 'web_sessions_change_fixed_length_policy': EventType._web_sessions_change_fixed_length_policy_validator, + 'web_sessions_change_idle_length_policy': EventType._web_sessions_change_idle_length_policy_validator, + 'team_profile_add_logo': EventType._team_profile_add_logo_validator, + 'team_profile_change_logo': EventType._team_profile_change_logo_validator, + 'team_profile_change_name': EventType._team_profile_change_name_validator, + 'team_profile_remove_logo': EventType._team_profile_remove_logo_validator, + 'tfa_add_backup_phone': EventType._tfa_add_backup_phone_validator, + 'tfa_add_security_key': EventType._tfa_add_security_key_validator, + 'tfa_change_backup_phone': EventType._tfa_change_backup_phone_validator, + 'tfa_change_status': EventType._tfa_change_status_validator, + 'tfa_remove_backup_phone': EventType._tfa_remove_backup_phone_validator, + 'tfa_remove_security_key': EventType._tfa_remove_security_key_validator, + 'tfa_reset': EventType._tfa_reset_validator, + 'other': EventType._other_validator, +} + +EventType.member_change_membership_type = EventType('member_change_membership_type') +EventType.member_permanently_delete_account_contents = EventType('member_permanently_delete_account_contents') +EventType.member_space_limits_change_status = EventType('member_space_limits_change_status') +EventType.member_transfer_account_contents = EventType('member_transfer_account_contents') +EventType.paper_enabled_users_group_addition = EventType('paper_enabled_users_group_addition') +EventType.paper_enabled_users_group_removal = EventType('paper_enabled_users_group_removal') +EventType.paper_external_view_allow = EventType('paper_external_view_allow') +EventType.paper_external_view_default_team = EventType('paper_external_view_default_team') +EventType.paper_external_view_forbid = EventType('paper_external_view_forbid') +EventType.sf_external_invite_warn = EventType('sf_external_invite_warn') +EventType.team_merge = EventType('team_merge') +EventType.app_link_team = EventType('app_link_team') +EventType.app_link_user = EventType('app_link_user') +EventType.app_unlink_team = EventType('app_unlink_team') +EventType.app_unlink_user = EventType('app_unlink_user') +EventType.device_change_ip_desktop = EventType('device_change_ip_desktop') +EventType.device_change_ip_mobile = EventType('device_change_ip_mobile') +EventType.device_change_ip_web = EventType('device_change_ip_web') +EventType.device_delete_on_unlink_fail = EventType('device_delete_on_unlink_fail') +EventType.device_delete_on_unlink_success = EventType('device_delete_on_unlink_success') +EventType.device_link_fail = EventType('device_link_fail') +EventType.device_link_success = EventType('device_link_success') +EventType.device_management_disabled = EventType('device_management_disabled') +EventType.device_management_enabled = EventType('device_management_enabled') +EventType.device_unlink = EventType('device_unlink') +EventType.emm_refresh_auth_token = EventType('emm_refresh_auth_token') +EventType.account_capture_change_availability = EventType('account_capture_change_availability') +EventType.account_capture_migrate_account = EventType('account_capture_migrate_account') +EventType.account_capture_relinquish_account = EventType('account_capture_relinquish_account') +EventType.disabled_domain_invites = EventType('disabled_domain_invites') +EventType.domain_invites_approve_request_to_join_team = EventType('domain_invites_approve_request_to_join_team') +EventType.domain_invites_decline_request_to_join_team = EventType('domain_invites_decline_request_to_join_team') +EventType.domain_invites_email_existing_users = EventType('domain_invites_email_existing_users') +EventType.domain_invites_request_to_join_team = EventType('domain_invites_request_to_join_team') +EventType.domain_invites_set_invite_new_user_pref_to_no = EventType('domain_invites_set_invite_new_user_pref_to_no') +EventType.domain_invites_set_invite_new_user_pref_to_yes = EventType('domain_invites_set_invite_new_user_pref_to_yes') +EventType.domain_verification_add_domain_fail = EventType('domain_verification_add_domain_fail') +EventType.domain_verification_add_domain_success = EventType('domain_verification_add_domain_success') +EventType.domain_verification_remove_domain = EventType('domain_verification_remove_domain') +EventType.enabled_domain_invites = EventType('enabled_domain_invites') +EventType.create_folder = EventType('create_folder') +EventType.file_add = EventType('file_add') +EventType.file_copy = EventType('file_copy') +EventType.file_delete = EventType('file_delete') +EventType.file_download = EventType('file_download') +EventType.file_edit = EventType('file_edit') +EventType.file_get_copy_reference = EventType('file_get_copy_reference') +EventType.file_move = EventType('file_move') +EventType.file_permanently_delete = EventType('file_permanently_delete') +EventType.file_preview = EventType('file_preview') +EventType.file_rename = EventType('file_rename') +EventType.file_restore = EventType('file_restore') +EventType.file_revert = EventType('file_revert') +EventType.file_rollback_changes = EventType('file_rollback_changes') +EventType.file_save_copy_reference = EventType('file_save_copy_reference') +EventType.file_request_add_deadline = EventType('file_request_add_deadline') +EventType.file_request_change_folder = EventType('file_request_change_folder') +EventType.file_request_change_title = EventType('file_request_change_title') +EventType.file_request_close = EventType('file_request_close') +EventType.file_request_create = EventType('file_request_create') +EventType.file_request_receive_file = EventType('file_request_receive_file') +EventType.file_request_remove_deadline = EventType('file_request_remove_deadline') +EventType.file_request_send = EventType('file_request_send') +EventType.group_add_external_id = EventType('group_add_external_id') +EventType.group_add_member = EventType('group_add_member') +EventType.group_change_external_id = EventType('group_change_external_id') +EventType.group_change_management_type = EventType('group_change_management_type') +EventType.group_change_member_role = EventType('group_change_member_role') +EventType.group_create = EventType('group_create') +EventType.group_delete = EventType('group_delete') +EventType.group_description_updated = EventType('group_description_updated') +EventType.group_join_policy_updated = EventType('group_join_policy_updated') +EventType.group_moved = EventType('group_moved') +EventType.group_remove_external_id = EventType('group_remove_external_id') +EventType.group_remove_member = EventType('group_remove_member') +EventType.group_rename = EventType('group_rename') +EventType.emm_login_success = EventType('emm_login_success') +EventType.logout = EventType('logout') +EventType.password_login_fail = EventType('password_login_fail') +EventType.password_login_success = EventType('password_login_success') +EventType.reseller_support_session_end = EventType('reseller_support_session_end') +EventType.reseller_support_session_start = EventType('reseller_support_session_start') +EventType.sign_in_as_session_end = EventType('sign_in_as_session_end') +EventType.sign_in_as_session_start = EventType('sign_in_as_session_start') +EventType.sso_login_fail = EventType('sso_login_fail') +EventType.member_add_name = EventType('member_add_name') +EventType.member_change_email = EventType('member_change_email') +EventType.member_change_name = EventType('member_change_name') +EventType.member_change_role = EventType('member_change_role') +EventType.member_invite = EventType('member_invite') +EventType.member_join = EventType('member_join') +EventType.member_leave = EventType('member_leave') +EventType.member_recover = EventType('member_recover') +EventType.member_suggest = EventType('member_suggest') +EventType.member_suspend = EventType('member_suspend') +EventType.member_unsuspend = EventType('member_unsuspend') +EventType.paper_content_add_member = EventType('paper_content_add_member') +EventType.paper_content_add_to_folder = EventType('paper_content_add_to_folder') +EventType.paper_content_archive = EventType('paper_content_archive') +EventType.paper_content_change_subscription = EventType('paper_content_change_subscription') +EventType.paper_content_create = EventType('paper_content_create') +EventType.paper_content_permanently_delete = EventType('paper_content_permanently_delete') +EventType.paper_content_remove_from_folder = EventType('paper_content_remove_from_folder') +EventType.paper_content_remove_member = EventType('paper_content_remove_member') +EventType.paper_content_rename = EventType('paper_content_rename') +EventType.paper_content_restore = EventType('paper_content_restore') +EventType.paper_doc_add_comment = EventType('paper_doc_add_comment') +EventType.paper_doc_change_member_role = EventType('paper_doc_change_member_role') +EventType.paper_doc_change_sharing_policy = EventType('paper_doc_change_sharing_policy') +EventType.paper_doc_deleted = EventType('paper_doc_deleted') +EventType.paper_doc_delete_comment = EventType('paper_doc_delete_comment') +EventType.paper_doc_download = EventType('paper_doc_download') +EventType.paper_doc_edit = EventType('paper_doc_edit') +EventType.paper_doc_edit_comment = EventType('paper_doc_edit_comment') +EventType.paper_doc_followed = EventType('paper_doc_followed') +EventType.paper_doc_mention = EventType('paper_doc_mention') +EventType.paper_doc_request_access = EventType('paper_doc_request_access') +EventType.paper_doc_resolve_comment = EventType('paper_doc_resolve_comment') +EventType.paper_doc_revert = EventType('paper_doc_revert') +EventType.paper_doc_slack_share = EventType('paper_doc_slack_share') +EventType.paper_doc_team_invite = EventType('paper_doc_team_invite') +EventType.paper_doc_unresolve_comment = EventType('paper_doc_unresolve_comment') +EventType.paper_doc_view = EventType('paper_doc_view') +EventType.paper_folder_deleted = EventType('paper_folder_deleted') +EventType.paper_folder_followed = EventType('paper_folder_followed') +EventType.paper_folder_team_invite = EventType('paper_folder_team_invite') +EventType.password_change = EventType('password_change') +EventType.password_reset = EventType('password_reset') +EventType.password_reset_all = EventType('password_reset_all') +EventType.emm_create_exceptions_report = EventType('emm_create_exceptions_report') +EventType.emm_create_usage_report = EventType('emm_create_usage_report') +EventType.smart_sync_create_admin_privilege_report = EventType('smart_sync_create_admin_privilege_report') +EventType.team_activity_create_report = EventType('team_activity_create_report') +EventType.collection_share = EventType('collection_share') +EventType.file_add_comment = EventType('file_add_comment') +EventType.file_like_comment = EventType('file_like_comment') +EventType.file_unlike_comment = EventType('file_unlike_comment') +EventType.note_acl_invite_only = EventType('note_acl_invite_only') +EventType.note_acl_link = EventType('note_acl_link') +EventType.note_acl_team_link = EventType('note_acl_team_link') +EventType.note_shared = EventType('note_shared') +EventType.note_share_receive = EventType('note_share_receive') +EventType.open_note_shared = EventType('open_note_shared') +EventType.sf_add_group = EventType('sf_add_group') +EventType.sf_allow_non_members_to_view_shared_links = EventType('sf_allow_non_members_to_view_shared_links') +EventType.sf_invite_group = EventType('sf_invite_group') +EventType.sf_nest = EventType('sf_nest') +EventType.sf_team_decline = EventType('sf_team_decline') +EventType.sf_team_grant_access = EventType('sf_team_grant_access') +EventType.sf_team_invite = EventType('sf_team_invite') +EventType.sf_team_invite_change_role = EventType('sf_team_invite_change_role') +EventType.sf_team_join = EventType('sf_team_join') +EventType.sf_team_join_from_oob_link = EventType('sf_team_join_from_oob_link') +EventType.sf_team_uninvite = EventType('sf_team_uninvite') +EventType.shared_content_add_invitees = EventType('shared_content_add_invitees') +EventType.shared_content_add_link_expiry = EventType('shared_content_add_link_expiry') +EventType.shared_content_add_link_password = EventType('shared_content_add_link_password') +EventType.shared_content_add_member = EventType('shared_content_add_member') +EventType.shared_content_change_downloads_policy = EventType('shared_content_change_downloads_policy') +EventType.shared_content_change_invitee_role = EventType('shared_content_change_invitee_role') +EventType.shared_content_change_link_audience = EventType('shared_content_change_link_audience') +EventType.shared_content_change_link_expiry = EventType('shared_content_change_link_expiry') +EventType.shared_content_change_link_password = EventType('shared_content_change_link_password') +EventType.shared_content_change_member_role = EventType('shared_content_change_member_role') +EventType.shared_content_change_viewer_info_policy = EventType('shared_content_change_viewer_info_policy') +EventType.shared_content_claim_invitation = EventType('shared_content_claim_invitation') +EventType.shared_content_copy = EventType('shared_content_copy') +EventType.shared_content_download = EventType('shared_content_download') +EventType.shared_content_relinquish_membership = EventType('shared_content_relinquish_membership') +EventType.shared_content_remove_invitee = EventType('shared_content_remove_invitee') +EventType.shared_content_remove_link_expiry = EventType('shared_content_remove_link_expiry') +EventType.shared_content_remove_link_password = EventType('shared_content_remove_link_password') +EventType.shared_content_remove_member = EventType('shared_content_remove_member') +EventType.shared_content_request_access = EventType('shared_content_request_access') +EventType.shared_content_unshare = EventType('shared_content_unshare') +EventType.shared_content_view = EventType('shared_content_view') +EventType.shared_folder_change_confidentiality = EventType('shared_folder_change_confidentiality') +EventType.shared_folder_change_link_policy = EventType('shared_folder_change_link_policy') +EventType.shared_folder_change_member_management_policy = EventType('shared_folder_change_member_management_policy') +EventType.shared_folder_change_member_policy = EventType('shared_folder_change_member_policy') +EventType.shared_folder_create = EventType('shared_folder_create') +EventType.shared_folder_mount = EventType('shared_folder_mount') +EventType.shared_folder_transfer_ownership = EventType('shared_folder_transfer_ownership') +EventType.shared_folder_unmount = EventType('shared_folder_unmount') +EventType.shared_note_opened = EventType('shared_note_opened') +EventType.shmodel_app_create = EventType('shmodel_app_create') +EventType.shmodel_create = EventType('shmodel_create') +EventType.shmodel_disable = EventType('shmodel_disable') +EventType.shmodel_fb_share = EventType('shmodel_fb_share') +EventType.shmodel_group_share = EventType('shmodel_group_share') +EventType.shmodel_remove_expiration = EventType('shmodel_remove_expiration') +EventType.shmodel_set_expiration = EventType('shmodel_set_expiration') +EventType.shmodel_team_copy = EventType('shmodel_team_copy') +EventType.shmodel_team_download = EventType('shmodel_team_download') +EventType.shmodel_team_share = EventType('shmodel_team_share') +EventType.shmodel_team_view = EventType('shmodel_team_view') +EventType.shmodel_visibility_password = EventType('shmodel_visibility_password') +EventType.shmodel_visibility_public = EventType('shmodel_visibility_public') +EventType.shmodel_visibility_team_only = EventType('shmodel_visibility_team_only') +EventType.remove_logout_url = EventType('remove_logout_url') +EventType.remove_sso_url = EventType('remove_sso_url') +EventType.sso_change_cert = EventType('sso_change_cert') +EventType.sso_change_login_url = EventType('sso_change_login_url') +EventType.sso_change_logout_url = EventType('sso_change_logout_url') +EventType.sso_change_saml_identity_mode = EventType('sso_change_saml_identity_mode') +EventType.team_folder_change_status = EventType('team_folder_change_status') +EventType.team_folder_create = EventType('team_folder_create') +EventType.team_folder_downgrade = EventType('team_folder_downgrade') +EventType.team_folder_permanently_delete = EventType('team_folder_permanently_delete') +EventType.team_folder_rename = EventType('team_folder_rename') +EventType.account_capture_change_policy = EventType('account_capture_change_policy') +EventType.allow_download_disabled = EventType('allow_download_disabled') +EventType.allow_download_enabled = EventType('allow_download_enabled') +EventType.data_placement_restriction_change_policy = EventType('data_placement_restriction_change_policy') +EventType.data_placement_restriction_satisfy_policy = EventType('data_placement_restriction_satisfy_policy') +EventType.device_approvals_change_desktop_policy = EventType('device_approvals_change_desktop_policy') +EventType.device_approvals_change_mobile_policy = EventType('device_approvals_change_mobile_policy') +EventType.device_approvals_change_overage_action = EventType('device_approvals_change_overage_action') +EventType.device_approvals_change_unlink_action = EventType('device_approvals_change_unlink_action') +EventType.emm_add_exception = EventType('emm_add_exception') +EventType.emm_change_policy = EventType('emm_change_policy') +EventType.emm_remove_exception = EventType('emm_remove_exception') +EventType.extended_version_history_change_policy = EventType('extended_version_history_change_policy') +EventType.file_comments_change_policy = EventType('file_comments_change_policy') +EventType.file_requests_change_policy = EventType('file_requests_change_policy') +EventType.file_requests_emails_enabled = EventType('file_requests_emails_enabled') +EventType.file_requests_emails_restricted_to_team_only = EventType('file_requests_emails_restricted_to_team_only') +EventType.google_sso_change_policy = EventType('google_sso_change_policy') +EventType.group_user_management_change_policy = EventType('group_user_management_change_policy') +EventType.member_requests_change_policy = EventType('member_requests_change_policy') +EventType.member_space_limits_add_exception = EventType('member_space_limits_add_exception') +EventType.member_space_limits_change_policy = EventType('member_space_limits_change_policy') +EventType.member_space_limits_remove_exception = EventType('member_space_limits_remove_exception') +EventType.member_suggestions_change_policy = EventType('member_suggestions_change_policy') +EventType.microsoft_office_addin_change_policy = EventType('microsoft_office_addin_change_policy') +EventType.network_control_change_policy = EventType('network_control_change_policy') +EventType.paper_change_deployment_policy = EventType('paper_change_deployment_policy') +EventType.paper_change_member_policy = EventType('paper_change_member_policy') +EventType.paper_change_policy = EventType('paper_change_policy') +EventType.permanent_delete_change_policy = EventType('permanent_delete_change_policy') +EventType.sharing_change_folder_join_policy = EventType('sharing_change_folder_join_policy') +EventType.sharing_change_link_policy = EventType('sharing_change_link_policy') +EventType.sharing_change_member_policy = EventType('sharing_change_member_policy') +EventType.smart_sync_change_policy = EventType('smart_sync_change_policy') +EventType.sso_change_policy = EventType('sso_change_policy') +EventType.tfa_change_policy = EventType('tfa_change_policy') +EventType.two_account_change_policy = EventType('two_account_change_policy') +EventType.web_sessions_change_fixed_length_policy = EventType('web_sessions_change_fixed_length_policy') +EventType.web_sessions_change_idle_length_policy = EventType('web_sessions_change_idle_length_policy') +EventType.team_profile_add_logo = EventType('team_profile_add_logo') +EventType.team_profile_change_logo = EventType('team_profile_change_logo') +EventType.team_profile_change_name = EventType('team_profile_change_name') +EventType.team_profile_remove_logo = EventType('team_profile_remove_logo') +EventType.tfa_add_backup_phone = EventType('tfa_add_backup_phone') +EventType.tfa_add_security_key = EventType('tfa_add_security_key') +EventType.tfa_change_backup_phone = EventType('tfa_change_backup_phone') +EventType.tfa_change_status = EventType('tfa_change_status') +EventType.tfa_remove_backup_phone = EventType('tfa_remove_backup_phone') +EventType.tfa_remove_security_key = EventType('tfa_remove_security_key') +EventType.tfa_reset = EventType('tfa_reset') +EventType.other = EventType('other') + +ExtendedVersionHistoryChangePolicyDetails._new_value_validator = ExtendedVersionHistoryPolicy_validator +ExtendedVersionHistoryChangePolicyDetails._previous_value_validator = bv.Nullable(ExtendedVersionHistoryPolicy_validator) +ExtendedVersionHistoryChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +ExtendedVersionHistoryChangePolicyDetails._all_fields_ = [ + ('new_value', ExtendedVersionHistoryChangePolicyDetails._new_value_validator), + ('previous_value', ExtendedVersionHistoryChangePolicyDetails._previous_value_validator), +] + +ExtendedVersionHistoryPolicy._limited_validator = bv.Void() +ExtendedVersionHistoryPolicy._unlimited_validator = bv.Void() +ExtendedVersionHistoryPolicy._other_validator = bv.Void() +ExtendedVersionHistoryPolicy._tagmap = { + 'limited': ExtendedVersionHistoryPolicy._limited_validator, + 'unlimited': ExtendedVersionHistoryPolicy._unlimited_validator, + 'other': ExtendedVersionHistoryPolicy._other_validator, +} + +ExtendedVersionHistoryPolicy.limited = ExtendedVersionHistoryPolicy('limited') +ExtendedVersionHistoryPolicy.unlimited = ExtendedVersionHistoryPolicy('unlimited') +ExtendedVersionHistoryPolicy.other = ExtendedVersionHistoryPolicy('other') + +ExternalSharingAccessibilityPolicy._team_only_validator = bv.Void() +ExternalSharingAccessibilityPolicy._default_team_only_validator = bv.Void() +ExternalSharingAccessibilityPolicy._default_anyone_validator = bv.Void() +ExternalSharingAccessibilityPolicy._other_validator = bv.Void() +ExternalSharingAccessibilityPolicy._tagmap = { + 'team_only': ExternalSharingAccessibilityPolicy._team_only_validator, + 'default_team_only': ExternalSharingAccessibilityPolicy._default_team_only_validator, + 'default_anyone': ExternalSharingAccessibilityPolicy._default_anyone_validator, + 'other': ExternalSharingAccessibilityPolicy._other_validator, +} + +ExternalSharingAccessibilityPolicy.team_only = ExternalSharingAccessibilityPolicy('team_only') +ExternalSharingAccessibilityPolicy.default_team_only = ExternalSharingAccessibilityPolicy('default_team_only') +ExternalSharingAccessibilityPolicy.default_anyone = ExternalSharingAccessibilityPolicy('default_anyone') +ExternalSharingAccessibilityPolicy.other = ExternalSharingAccessibilityPolicy('other') + +ExternalSharingPolicy._team_only_validator = bv.Void() +ExternalSharingPolicy._anyone_validator = bv.Void() +ExternalSharingPolicy._other_validator = bv.Void() +ExternalSharingPolicy._tagmap = { + 'team_only': ExternalSharingPolicy._team_only_validator, + 'anyone': ExternalSharingPolicy._anyone_validator, + 'other': ExternalSharingPolicy._other_validator, +} + +ExternalSharingPolicy.team_only = ExternalSharingPolicy('team_only') +ExternalSharingPolicy.anyone = ExternalSharingPolicy('anyone') +ExternalSharingPolicy.other = ExternalSharingPolicy('other') + +FileAddCommentDetails._target_index_validator = bv.Int64() +FileAddCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +FileAddCommentDetails._all_field_names_ = set([ + 'target_index', + 'comment_text', +]) +FileAddCommentDetails._all_fields_ = [ + ('target_index', FileAddCommentDetails._target_index_validator), + ('comment_text', FileAddCommentDetails._comment_text_validator), +] + +FileAddDetails._all_field_names_ = set([]) +FileAddDetails._all_fields_ = [] + +FileCommentsChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +FileCommentsChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +FileCommentsChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +FileCommentsChangePolicyDetails._all_fields_ = [ + ('new_value', FileCommentsChangePolicyDetails._new_value_validator), + ('previous_value', FileCommentsChangePolicyDetails._previous_value_validator), +] + +FileCopyDetails._src_index_validator = bv.Int64() +FileCopyDetails._dest_index_validator = bv.Int64() +FileCopyDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +FileCopyDetails._all_fields_ = [ + ('src_index', FileCopyDetails._src_index_validator), + ('dest_index', FileCopyDetails._dest_index_validator), +] + +FileDeleteDetails._all_field_names_ = set([]) +FileDeleteDetails._all_fields_ = [] + +FileDownloadDetails._all_field_names_ = set([]) +FileDownloadDetails._all_fields_ = [] + +FileEditDetails._all_field_names_ = set([]) +FileEditDetails._all_fields_ = [] + +FileGetCopyReferenceDetails._all_field_names_ = set([]) +FileGetCopyReferenceDetails._all_fields_ = [] + +FileLikeCommentDetails._target_index_validator = bv.Int64() +FileLikeCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +FileLikeCommentDetails._all_field_names_ = set([ + 'target_index', + 'comment_text', +]) +FileLikeCommentDetails._all_fields_ = [ + ('target_index', FileLikeCommentDetails._target_index_validator), + ('comment_text', FileLikeCommentDetails._comment_text_validator), +] + +FileOrFolderLogInfo._path_validator = PathLogInfo_validator +FileOrFolderLogInfo._display_name_validator = bv.Nullable(bv.String()) +FileOrFolderLogInfo._file_id_validator = bv.Nullable(bv.String()) +FileOrFolderLogInfo._all_field_names_ = set([ + 'path', + 'display_name', + 'file_id', +]) +FileOrFolderLogInfo._all_fields_ = [ + ('path', FileOrFolderLogInfo._path_validator), + ('display_name', FileOrFolderLogInfo._display_name_validator), + ('file_id', FileOrFolderLogInfo._file_id_validator), +] + +FileLogInfo._all_field_names_ = FileOrFolderLogInfo._all_field_names_.union(set([])) +FileLogInfo._all_fields_ = FileOrFolderLogInfo._all_fields_ + [] + +FileMoveDetails._src_index_validator = bv.Int64() +FileMoveDetails._dest_index_validator = bv.Int64() +FileMoveDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +FileMoveDetails._all_fields_ = [ + ('src_index', FileMoveDetails._src_index_validator), + ('dest_index', FileMoveDetails._dest_index_validator), +] + +FilePermanentlyDeleteDetails._all_field_names_ = set([]) +FilePermanentlyDeleteDetails._all_fields_ = [] + +FilePreviewDetails._all_field_names_ = set([]) +FilePreviewDetails._all_fields_ = [] + +FileRenameDetails._src_index_validator = bv.Int64() +FileRenameDetails._dest_index_validator = bv.Int64() +FileRenameDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +FileRenameDetails._all_fields_ = [ + ('src_index', FileRenameDetails._src_index_validator), + ('dest_index', FileRenameDetails._dest_index_validator), +] + +FileRequestAddDeadlineDetails._request_title_validator = bv.String() +FileRequestAddDeadlineDetails._all_field_names_ = set(['request_title']) +FileRequestAddDeadlineDetails._all_fields_ = [('request_title', FileRequestAddDeadlineDetails._request_title_validator)] + +FileRequestChangeFolderDetails._request_title_validator = bv.String() +FileRequestChangeFolderDetails._all_field_names_ = set(['request_title']) +FileRequestChangeFolderDetails._all_fields_ = [('request_title', FileRequestChangeFolderDetails._request_title_validator)] + +FileRequestChangeTitleDetails._request_title_validator = bv.String() +FileRequestChangeTitleDetails._all_field_names_ = set(['request_title']) +FileRequestChangeTitleDetails._all_fields_ = [('request_title', FileRequestChangeTitleDetails._request_title_validator)] + +FileRequestCloseDetails._request_title_validator = bv.String() +FileRequestCloseDetails._all_field_names_ = set(['request_title']) +FileRequestCloseDetails._all_fields_ = [('request_title', FileRequestCloseDetails._request_title_validator)] + +FileRequestCreateDetails._request_title_validator = bv.String() +FileRequestCreateDetails._all_field_names_ = set(['request_title']) +FileRequestCreateDetails._all_fields_ = [('request_title', FileRequestCreateDetails._request_title_validator)] + +FileRequestReceiveFileDetails._request_title_validator = bv.String() +FileRequestReceiveFileDetails._submitted_file_names_validator = bv.List(bv.String()) +FileRequestReceiveFileDetails._all_field_names_ = set([ + 'request_title', + 'submitted_file_names', +]) +FileRequestReceiveFileDetails._all_fields_ = [ + ('request_title', FileRequestReceiveFileDetails._request_title_validator), + ('submitted_file_names', FileRequestReceiveFileDetails._submitted_file_names_validator), +] + +FileRequestRemoveDeadlineDetails._request_title_validator = bv.String() +FileRequestRemoveDeadlineDetails._all_field_names_ = set(['request_title']) +FileRequestRemoveDeadlineDetails._all_fields_ = [('request_title', FileRequestRemoveDeadlineDetails._request_title_validator)] + +FileRequestSendDetails._request_title_validator = bv.String() +FileRequestSendDetails._all_field_names_ = set(['request_title']) +FileRequestSendDetails._all_fields_ = [('request_title', FileRequestSendDetails._request_title_validator)] + +FileRequestsChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +FileRequestsChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +FileRequestsChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +FileRequestsChangePolicyDetails._all_fields_ = [ + ('new_value', FileRequestsChangePolicyDetails._new_value_validator), + ('previous_value', FileRequestsChangePolicyDetails._previous_value_validator), +] + +FileRequestsEmailsEnabledDetails._all_field_names_ = set([]) +FileRequestsEmailsEnabledDetails._all_fields_ = [] + +FileRequestsEmailsRestrictedToTeamOnlyDetails._all_field_names_ = set([]) +FileRequestsEmailsRestrictedToTeamOnlyDetails._all_fields_ = [] + +FileRestoreDetails._all_field_names_ = set([]) +FileRestoreDetails._all_fields_ = [] + +FileRevertDetails._all_field_names_ = set([]) +FileRevertDetails._all_fields_ = [] + +FileRollbackChangesDetails._all_field_names_ = set([]) +FileRollbackChangesDetails._all_fields_ = [] + +FileSaveCopyReferenceDetails._src_index_validator = bv.Int64() +FileSaveCopyReferenceDetails._dest_index_validator = bv.Int64() +FileSaveCopyReferenceDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +FileSaveCopyReferenceDetails._all_fields_ = [ + ('src_index', FileSaveCopyReferenceDetails._src_index_validator), + ('dest_index', FileSaveCopyReferenceDetails._dest_index_validator), +] + +FileUnlikeCommentDetails._target_index_validator = bv.Int64() +FileUnlikeCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +FileUnlikeCommentDetails._all_field_names_ = set([ + 'target_index', + 'comment_text', +]) +FileUnlikeCommentDetails._all_fields_ = [ + ('target_index', FileUnlikeCommentDetails._target_index_validator), + ('comment_text', FileUnlikeCommentDetails._comment_text_validator), +] + +FolderLogInfo._all_field_names_ = FileOrFolderLogInfo._all_field_names_.union(set([])) +FolderLogInfo._all_fields_ = FileOrFolderLogInfo._all_fields_ + [] + +GeoLocationLogInfo._city_validator = bv.Nullable(bv.String()) +GeoLocationLogInfo._region_validator = bv.Nullable(bv.String()) +GeoLocationLogInfo._country_validator = bv.Nullable(bv.String()) +GeoLocationLogInfo._ip_address_validator = IpAddress_validator +GeoLocationLogInfo._all_field_names_ = set([ + 'city', + 'region', + 'country', + 'ip_address', +]) +GeoLocationLogInfo._all_fields_ = [ + ('city', GeoLocationLogInfo._city_validator), + ('region', GeoLocationLogInfo._region_validator), + ('country', GeoLocationLogInfo._country_validator), + ('ip_address', GeoLocationLogInfo._ip_address_validator), +] + +GetTeamEventsArg._limit_validator = bv.UInt32(min_value=1, max_value=1000) +GetTeamEventsArg._account_id_validator = bv.Nullable(users_common.AccountId_validator) +GetTeamEventsArg._time_validator = bv.Nullable(team_common.TimeRange_validator) +GetTeamEventsArg._all_field_names_ = set([ + 'limit', + 'account_id', + 'time', +]) +GetTeamEventsArg._all_fields_ = [ + ('limit', GetTeamEventsArg._limit_validator), + ('account_id', GetTeamEventsArg._account_id_validator), + ('time', GetTeamEventsArg._time_validator), +] + +GetTeamEventsContinueArg._cursor_validator = bv.String() +GetTeamEventsContinueArg._all_field_names_ = set(['cursor']) +GetTeamEventsContinueArg._all_fields_ = [('cursor', GetTeamEventsContinueArg._cursor_validator)] + +GetTeamEventsContinueError._bad_cursor_validator = bv.Void() +GetTeamEventsContinueError._other_validator = bv.Void() +GetTeamEventsContinueError._tagmap = { + 'bad_cursor': GetTeamEventsContinueError._bad_cursor_validator, + 'other': GetTeamEventsContinueError._other_validator, +} + +GetTeamEventsContinueError.bad_cursor = GetTeamEventsContinueError('bad_cursor') +GetTeamEventsContinueError.other = GetTeamEventsContinueError('other') + +GetTeamEventsError._account_id_not_found_validator = bv.Void() +GetTeamEventsError._invalid_time_range_validator = bv.Void() +GetTeamEventsError._other_validator = bv.Void() +GetTeamEventsError._tagmap = { + 'account_id_not_found': GetTeamEventsError._account_id_not_found_validator, + 'invalid_time_range': GetTeamEventsError._invalid_time_range_validator, + 'other': GetTeamEventsError._other_validator, +} + +GetTeamEventsError.account_id_not_found = GetTeamEventsError('account_id_not_found') +GetTeamEventsError.invalid_time_range = GetTeamEventsError('invalid_time_range') +GetTeamEventsError.other = GetTeamEventsError('other') + +GetTeamEventsResult._events_validator = bv.List(TeamEvent_validator) +GetTeamEventsResult._cursor_validator = bv.String() +GetTeamEventsResult._has_more_validator = bv.Boolean() +GetTeamEventsResult._all_field_names_ = set([ + 'events', + 'cursor', + 'has_more', +]) +GetTeamEventsResult._all_fields_ = [ + ('events', GetTeamEventsResult._events_validator), + ('cursor', GetTeamEventsResult._cursor_validator), + ('has_more', GetTeamEventsResult._has_more_validator), +] + +GoogleSsoChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +GoogleSsoChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +GoogleSsoChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +GoogleSsoChangePolicyDetails._all_fields_ = [ + ('new_value', GoogleSsoChangePolicyDetails._new_value_validator), + ('previous_value', GoogleSsoChangePolicyDetails._previous_value_validator), +] + +GroupAddExternalIdDetails._group_info_validator = GroupLogInfo_validator +GroupAddExternalIdDetails._new_value_validator = team_common.GroupExternalId_validator +GroupAddExternalIdDetails._all_field_names_ = set([ + 'group_info', + 'new_value', +]) +GroupAddExternalIdDetails._all_fields_ = [ + ('group_info', GroupAddExternalIdDetails._group_info_validator), + ('new_value', GroupAddExternalIdDetails._new_value_validator), +] + +GroupAddMemberDetails._group_info_validator = GroupLogInfo_validator +GroupAddMemberDetails._is_group_owner_validator = bv.Boolean() +GroupAddMemberDetails._all_field_names_ = set([ + 'group_info', + 'is_group_owner', +]) +GroupAddMemberDetails._all_fields_ = [ + ('group_info', GroupAddMemberDetails._group_info_validator), + ('is_group_owner', GroupAddMemberDetails._is_group_owner_validator), +] + +GroupChangeExternalIdDetails._group_info_validator = GroupLogInfo_validator +GroupChangeExternalIdDetails._new_value_validator = team_common.GroupExternalId_validator +GroupChangeExternalIdDetails._previous_value_validator = team_common.GroupExternalId_validator +GroupChangeExternalIdDetails._all_field_names_ = set([ + 'group_info', + 'new_value', + 'previous_value', +]) +GroupChangeExternalIdDetails._all_fields_ = [ + ('group_info', GroupChangeExternalIdDetails._group_info_validator), + ('new_value', GroupChangeExternalIdDetails._new_value_validator), + ('previous_value', GroupChangeExternalIdDetails._previous_value_validator), +] + +GroupChangeManagementTypeDetails._group_info_validator = GroupLogInfo_validator +GroupChangeManagementTypeDetails._new_value_validator = GroupManagementType_validator +GroupChangeManagementTypeDetails._previous_value_validator = bv.Nullable(GroupManagementType_validator) +GroupChangeManagementTypeDetails._all_field_names_ = set([ + 'group_info', + 'new_value', + 'previous_value', +]) +GroupChangeManagementTypeDetails._all_fields_ = [ + ('group_info', GroupChangeManagementTypeDetails._group_info_validator), + ('new_value', GroupChangeManagementTypeDetails._new_value_validator), + ('previous_value', GroupChangeManagementTypeDetails._previous_value_validator), +] + +GroupChangeMemberRoleDetails._group_info_validator = GroupLogInfo_validator +GroupChangeMemberRoleDetails._is_group_owner_validator = bv.Boolean() +GroupChangeMemberRoleDetails._all_field_names_ = set([ + 'group_info', + 'is_group_owner', +]) +GroupChangeMemberRoleDetails._all_fields_ = [ + ('group_info', GroupChangeMemberRoleDetails._group_info_validator), + ('is_group_owner', GroupChangeMemberRoleDetails._is_group_owner_validator), +] + +GroupCreateDetails._group_info_validator = GroupLogInfo_validator +GroupCreateDetails._is_admin_managed_validator = bv.Nullable(bv.Boolean()) +GroupCreateDetails._join_policy_validator = GroupJoinPolicy_validator +GroupCreateDetails._all_field_names_ = set([ + 'group_info', + 'is_admin_managed', + 'join_policy', +]) +GroupCreateDetails._all_fields_ = [ + ('group_info', GroupCreateDetails._group_info_validator), + ('is_admin_managed', GroupCreateDetails._is_admin_managed_validator), + ('join_policy', GroupCreateDetails._join_policy_validator), +] + +GroupDeleteDetails._group_info_validator = GroupLogInfo_validator +GroupDeleteDetails._is_admin_managed_validator = bv.Nullable(bv.Boolean()) +GroupDeleteDetails._all_field_names_ = set([ + 'group_info', + 'is_admin_managed', +]) +GroupDeleteDetails._all_fields_ = [ + ('group_info', GroupDeleteDetails._group_info_validator), + ('is_admin_managed', GroupDeleteDetails._is_admin_managed_validator), +] + +GroupDescriptionUpdatedDetails._group_info_validator = GroupLogInfo_validator +GroupDescriptionUpdatedDetails._all_field_names_ = set(['group_info']) +GroupDescriptionUpdatedDetails._all_fields_ = [('group_info', GroupDescriptionUpdatedDetails._group_info_validator)] + +GroupJoinPolicy._open_validator = bv.Void() +GroupJoinPolicy._request_to_join_validator = bv.Void() +GroupJoinPolicy._other_validator = bv.Void() +GroupJoinPolicy._tagmap = { + 'open': GroupJoinPolicy._open_validator, + 'request_to_join': GroupJoinPolicy._request_to_join_validator, + 'other': GroupJoinPolicy._other_validator, +} + +GroupJoinPolicy.open = GroupJoinPolicy('open') +GroupJoinPolicy.request_to_join = GroupJoinPolicy('request_to_join') +GroupJoinPolicy.other = GroupJoinPolicy('other') + +GroupJoinPolicyUpdatedDetails._group_info_validator = GroupLogInfo_validator +GroupJoinPolicyUpdatedDetails._is_admin_managed_validator = bv.Nullable(bv.Boolean()) +GroupJoinPolicyUpdatedDetails._join_policy_validator = GroupJoinPolicy_validator +GroupJoinPolicyUpdatedDetails._all_field_names_ = set([ + 'group_info', + 'is_admin_managed', + 'join_policy', +]) +GroupJoinPolicyUpdatedDetails._all_fields_ = [ + ('group_info', GroupJoinPolicyUpdatedDetails._group_info_validator), + ('is_admin_managed', GroupJoinPolicyUpdatedDetails._is_admin_managed_validator), + ('join_policy', GroupJoinPolicyUpdatedDetails._join_policy_validator), +] + +GroupLogInfo._group_id_validator = bv.Nullable(team_common.GroupId_validator) +GroupLogInfo._display_name_validator = bv.String() +GroupLogInfo._external_id_validator = bv.Nullable(team_common.GroupExternalId_validator) +GroupLogInfo._all_field_names_ = set([ + 'group_id', + 'display_name', + 'external_id', +]) +GroupLogInfo._all_fields_ = [ + ('group_id', GroupLogInfo._group_id_validator), + ('display_name', GroupLogInfo._display_name_validator), + ('external_id', GroupLogInfo._external_id_validator), +] + +GroupManagementType._admin_management_group_validator = bv.Void() +GroupManagementType._member_management_group_validator = bv.Void() +GroupManagementType._other_validator = bv.Void() +GroupManagementType._tagmap = { + 'admin_management_group': GroupManagementType._admin_management_group_validator, + 'member_management_group': GroupManagementType._member_management_group_validator, + 'other': GroupManagementType._other_validator, +} + +GroupManagementType.admin_management_group = GroupManagementType('admin_management_group') +GroupManagementType.member_management_group = GroupManagementType('member_management_group') +GroupManagementType.other = GroupManagementType('other') + +GroupMovedDetails._group_info_validator = GroupLogInfo_validator +GroupMovedDetails._all_field_names_ = set(['group_info']) +GroupMovedDetails._all_fields_ = [('group_info', GroupMovedDetails._group_info_validator)] + +GroupRemoveExternalIdDetails._group_info_validator = GroupLogInfo_validator +GroupRemoveExternalIdDetails._previous_value_validator = team_common.GroupExternalId_validator +GroupRemoveExternalIdDetails._all_field_names_ = set([ + 'group_info', + 'previous_value', +]) +GroupRemoveExternalIdDetails._all_fields_ = [ + ('group_info', GroupRemoveExternalIdDetails._group_info_validator), + ('previous_value', GroupRemoveExternalIdDetails._previous_value_validator), +] + +GroupRemoveMemberDetails._group_info_validator = GroupLogInfo_validator +GroupRemoveMemberDetails._all_field_names_ = set(['group_info']) +GroupRemoveMemberDetails._all_fields_ = [('group_info', GroupRemoveMemberDetails._group_info_validator)] + +GroupRenameDetails._group_info_validator = GroupLogInfo_validator +GroupRenameDetails._previous_value_validator = bv.String() +GroupRenameDetails._all_field_names_ = set([ + 'group_info', + 'previous_value', +]) +GroupRenameDetails._all_fields_ = [ + ('group_info', GroupRenameDetails._group_info_validator), + ('previous_value', GroupRenameDetails._previous_value_validator), +] + +GroupUserManagementChangePolicyDetails._new_value_validator = GroupsUserManagementPolicy_validator +GroupUserManagementChangePolicyDetails._previous_value_validator = bv.Nullable(GroupsUserManagementPolicy_validator) +GroupUserManagementChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +GroupUserManagementChangePolicyDetails._all_fields_ = [ + ('new_value', GroupUserManagementChangePolicyDetails._new_value_validator), + ('previous_value', GroupUserManagementChangePolicyDetails._previous_value_validator), +] + +GroupsUserManagementPolicy._all_users_validator = bv.Void() +GroupsUserManagementPolicy._only_admins_validator = bv.Void() +GroupsUserManagementPolicy._other_validator = bv.Void() +GroupsUserManagementPolicy._tagmap = { + 'all_users': GroupsUserManagementPolicy._all_users_validator, + 'only_admins': GroupsUserManagementPolicy._only_admins_validator, + 'other': GroupsUserManagementPolicy._other_validator, +} + +GroupsUserManagementPolicy.all_users = GroupsUserManagementPolicy('all_users') +GroupsUserManagementPolicy.only_admins = GroupsUserManagementPolicy('only_admins') +GroupsUserManagementPolicy.other = GroupsUserManagementPolicy('other') + +HostLogInfo._host_id_validator = bv.Nullable(bv.UInt64()) +HostLogInfo._host_name_validator = bv.Nullable(bv.String()) +HostLogInfo._all_field_names_ = set([ + 'host_id', + 'host_name', +]) +HostLogInfo._all_fields_ = [ + ('host_id', HostLogInfo._host_id_validator), + ('host_name', HostLogInfo._host_name_validator), +] + +LinkAudience._public_validator = bv.Void() +LinkAudience._team_validator = bv.Void() +LinkAudience._members_validator = bv.Void() +LinkAudience._other_validator = bv.Void() +LinkAudience._tagmap = { + 'public': LinkAudience._public_validator, + 'team': LinkAudience._team_validator, + 'members': LinkAudience._members_validator, + 'other': LinkAudience._other_validator, +} + +LinkAudience.public = LinkAudience('public') +LinkAudience.team = LinkAudience('team') +LinkAudience.members = LinkAudience('members') +LinkAudience.other = LinkAudience('other') + +LogoutDetails._all_field_names_ = set([]) +LogoutDetails._all_fields_ = [] + +MemberAddNameDetails._new_value_validator = UserNameLogInfo_validator +MemberAddNameDetails._all_field_names_ = set(['new_value']) +MemberAddNameDetails._all_fields_ = [('new_value', MemberAddNameDetails._new_value_validator)] + +MemberChangeEmailDetails._new_value_validator = common.EmailAddress_validator +MemberChangeEmailDetails._previous_value_validator = bv.Nullable(common.EmailAddress_validator) +MemberChangeEmailDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberChangeEmailDetails._all_fields_ = [ + ('new_value', MemberChangeEmailDetails._new_value_validator), + ('previous_value', MemberChangeEmailDetails._previous_value_validator), +] + +MemberChangeMembershipTypeDetails._prev_membership_type_validator = bv.Int64() +MemberChangeMembershipTypeDetails._new_membership_type_validator = bv.Int64() +MemberChangeMembershipTypeDetails._all_field_names_ = set([ + 'prev_membership_type', + 'new_membership_type', +]) +MemberChangeMembershipTypeDetails._all_fields_ = [ + ('prev_membership_type', MemberChangeMembershipTypeDetails._prev_membership_type_validator), + ('new_membership_type', MemberChangeMembershipTypeDetails._new_membership_type_validator), +] + +MemberChangeNameDetails._new_value_validator = UserNameLogInfo_validator +MemberChangeNameDetails._previous_value_validator = UserNameLogInfo_validator +MemberChangeNameDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberChangeNameDetails._all_fields_ = [ + ('new_value', MemberChangeNameDetails._new_value_validator), + ('previous_value', MemberChangeNameDetails._previous_value_validator), +] + +MemberChangeRoleDetails._new_value_validator = bv.Nullable(bv.String()) +MemberChangeRoleDetails._previous_value_validator = bv.Nullable(bv.String()) +MemberChangeRoleDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberChangeRoleDetails._all_fields_ = [ + ('new_value', MemberChangeRoleDetails._new_value_validator), + ('previous_value', MemberChangeRoleDetails._previous_value_validator), +] + +MemberInviteDetails._all_field_names_ = set([]) +MemberInviteDetails._all_fields_ = [] + +MemberJoinDetails._linked_apps_validator = bv.List(AppLogInfo_validator) +MemberJoinDetails._initial_shared_folders_validator = bv.List(SharedFolderLogInfo_validator) +MemberJoinDetails._linked_devices_validator = bv.List(DeviceLogInfo_validator) +MemberJoinDetails._all_field_names_ = set([ + 'linked_apps', + 'initial_shared_folders', + 'linked_devices', +]) +MemberJoinDetails._all_fields_ = [ + ('linked_apps', MemberJoinDetails._linked_apps_validator), + ('initial_shared_folders', MemberJoinDetails._initial_shared_folders_validator), + ('linked_devices', MemberJoinDetails._linked_devices_validator), +] + +MemberLeaveDetails._member_was_on_team_validator = bv.Boolean() +MemberLeaveDetails._all_field_names_ = set(['member_was_on_team']) +MemberLeaveDetails._all_fields_ = [('member_was_on_team', MemberLeaveDetails._member_was_on_team_validator)] + +MemberPermanentlyDeleteAccountContentsDetails._all_field_names_ = set([]) +MemberPermanentlyDeleteAccountContentsDetails._all_fields_ = [] + +MemberRecoverDetails._all_field_names_ = set([]) +MemberRecoverDetails._all_fields_ = [] + +MemberRequestsChangePolicy._disabled_validator = bv.Void() +MemberRequestsChangePolicy._require_approval_validator = bv.Void() +MemberRequestsChangePolicy._auto_approval_validator = bv.Void() +MemberRequestsChangePolicy._other_validator = bv.Void() +MemberRequestsChangePolicy._tagmap = { + 'disabled': MemberRequestsChangePolicy._disabled_validator, + 'require_approval': MemberRequestsChangePolicy._require_approval_validator, + 'auto_approval': MemberRequestsChangePolicy._auto_approval_validator, + 'other': MemberRequestsChangePolicy._other_validator, +} + +MemberRequestsChangePolicy.disabled = MemberRequestsChangePolicy('disabled') +MemberRequestsChangePolicy.require_approval = MemberRequestsChangePolicy('require_approval') +MemberRequestsChangePolicy.auto_approval = MemberRequestsChangePolicy('auto_approval') +MemberRequestsChangePolicy.other = MemberRequestsChangePolicy('other') + +MemberRequestsChangePolicyDetails._new_value_validator = MemberRequestsChangePolicy_validator +MemberRequestsChangePolicyDetails._previous_value_validator = bv.Nullable(MemberRequestsChangePolicy_validator) +MemberRequestsChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberRequestsChangePolicyDetails._all_fields_ = [ + ('new_value', MemberRequestsChangePolicyDetails._new_value_validator), + ('previous_value', MemberRequestsChangePolicyDetails._previous_value_validator), +] + +MemberSpaceLimitsAddExceptionDetails._all_field_names_ = set([]) +MemberSpaceLimitsAddExceptionDetails._all_fields_ = [] + +MemberSpaceLimitsChangePolicyDetails._previous_value_validator = SpaceLimitsLevel_validator +MemberSpaceLimitsChangePolicyDetails._new_value_validator = SpaceLimitsLevel_validator +MemberSpaceLimitsChangePolicyDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +MemberSpaceLimitsChangePolicyDetails._all_fields_ = [ + ('previous_value', MemberSpaceLimitsChangePolicyDetails._previous_value_validator), + ('new_value', MemberSpaceLimitsChangePolicyDetails._new_value_validator), +] + +MemberSpaceLimitsChangeStatusDetails._previous_status_validator = SpaceLimitsStatus_validator +MemberSpaceLimitsChangeStatusDetails._new_status_validator = SpaceLimitsStatus_validator +MemberSpaceLimitsChangeStatusDetails._all_field_names_ = set([ + 'previous_status', + 'new_status', +]) +MemberSpaceLimitsChangeStatusDetails._all_fields_ = [ + ('previous_status', MemberSpaceLimitsChangeStatusDetails._previous_status_validator), + ('new_status', MemberSpaceLimitsChangeStatusDetails._new_status_validator), +] + +MemberSpaceLimitsRemoveExceptionDetails._all_field_names_ = set([]) +MemberSpaceLimitsRemoveExceptionDetails._all_fields_ = [] + +MemberSuggestDetails._all_field_names_ = set([]) +MemberSuggestDetails._all_fields_ = [] + +MemberSuggestionsChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +MemberSuggestionsChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +MemberSuggestionsChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberSuggestionsChangePolicyDetails._all_fields_ = [ + ('new_value', MemberSuggestionsChangePolicyDetails._new_value_validator), + ('previous_value', MemberSuggestionsChangePolicyDetails._previous_value_validator), +] + +MemberSuspendDetails._all_field_names_ = set([]) +MemberSuspendDetails._all_fields_ = [] + +MemberTransferAccountContentsDetails._src_index_validator = bv.Int64() +MemberTransferAccountContentsDetails._dest_index_validator = bv.Int64() +MemberTransferAccountContentsDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +MemberTransferAccountContentsDetails._all_fields_ = [ + ('src_index', MemberTransferAccountContentsDetails._src_index_validator), + ('dest_index', MemberTransferAccountContentsDetails._dest_index_validator), +] + +MemberUnsuspendDetails._all_field_names_ = set([]) +MemberUnsuspendDetails._all_fields_ = [] + +MicrosoftOfficeAddinChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +MicrosoftOfficeAddinChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +MicrosoftOfficeAddinChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MicrosoftOfficeAddinChangePolicyDetails._all_fields_ = [ + ('new_value', MicrosoftOfficeAddinChangePolicyDetails._new_value_validator), + ('previous_value', MicrosoftOfficeAddinChangePolicyDetails._previous_value_validator), +] + +MissingDetails._all_field_names_ = set([]) +MissingDetails._all_fields_ = [] + +MobileSessionLogInfo._field_names_ = set([]) +MobileSessionLogInfo._all_field_names_ = SessionLogInfo._all_field_names_.union(MobileSessionLogInfo._field_names_) +MobileSessionLogInfo._fields_ = [] +MobileSessionLogInfo._all_fields_ = SessionLogInfo._all_fields_ + MobileSessionLogInfo._fields_ + +NamespaceRelativePathLogInfo._ns_id_validator = bv.Nullable(common.NamespaceId_validator) +NamespaceRelativePathLogInfo._relative_path_validator = bv.Nullable(files.Path_validator) +NamespaceRelativePathLogInfo._all_field_names_ = set([ + 'ns_id', + 'relative_path', +]) +NamespaceRelativePathLogInfo._all_fields_ = [ + ('ns_id', NamespaceRelativePathLogInfo._ns_id_validator), + ('relative_path', NamespaceRelativePathLogInfo._relative_path_validator), +] + +NetworkControlChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +NetworkControlChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +NetworkControlChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +NetworkControlChangePolicyDetails._all_fields_ = [ + ('new_value', NetworkControlChangePolicyDetails._new_value_validator), + ('previous_value', NetworkControlChangePolicyDetails._previous_value_validator), +] + +UserLogInfo._account_id_validator = bv.Nullable(users_common.AccountId_validator) +UserLogInfo._display_name_validator = bv.Nullable(common.DisplayName_validator) +UserLogInfo._email_validator = bv.Nullable(common.EmailAddress_validator) +UserLogInfo._field_names_ = set([ + 'account_id', + 'display_name', + 'email', +]) +UserLogInfo._all_field_names_ = UserLogInfo._field_names_ +UserLogInfo._fields_ = [ + ('account_id', UserLogInfo._account_id_validator), + ('display_name', UserLogInfo._display_name_validator), + ('email', UserLogInfo._email_validator), +] +UserLogInfo._all_fields_ = UserLogInfo._fields_ + +UserLogInfo._tag_to_subtype_ = { + (u'team_member',): TeamMemberLogInfo_validator, + (u'non_team_member',): NonTeamMemberLogInfo_validator, +} +UserLogInfo._pytype_to_tag_and_subtype_ = { + TeamMemberLogInfo: ((u'team_member',), TeamMemberLogInfo_validator), + NonTeamMemberLogInfo: ((u'non_team_member',), NonTeamMemberLogInfo_validator), +} +UserLogInfo._is_catch_all_ = True + +NonTeamMemberLogInfo._field_names_ = set([]) +NonTeamMemberLogInfo._all_field_names_ = UserLogInfo._all_field_names_.union(NonTeamMemberLogInfo._field_names_) +NonTeamMemberLogInfo._fields_ = [] +NonTeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + NonTeamMemberLogInfo._fields_ + +NoteAclInviteOnlyDetails._all_field_names_ = set([]) +NoteAclInviteOnlyDetails._all_fields_ = [] + +NoteAclLinkDetails._all_field_names_ = set([]) +NoteAclLinkDetails._all_fields_ = [] + +NoteAclTeamLinkDetails._all_field_names_ = set([]) +NoteAclTeamLinkDetails._all_fields_ = [] + +NoteShareReceiveDetails._all_field_names_ = set([]) +NoteShareReceiveDetails._all_fields_ = [] + +NoteSharedDetails._all_field_names_ = set([]) +NoteSharedDetails._all_fields_ = [] + +OpenNoteSharedDetails._all_field_names_ = set([]) +OpenNoteSharedDetails._all_fields_ = [] + +OptionalChangePolicy._disabled_validator = bv.Void() +OptionalChangePolicy._optional_validator = bv.Void() +OptionalChangePolicy._required_validator = bv.Void() +OptionalChangePolicy._other_validator = bv.Void() +OptionalChangePolicy._tagmap = { + 'disabled': OptionalChangePolicy._disabled_validator, + 'optional': OptionalChangePolicy._optional_validator, + 'required': OptionalChangePolicy._required_validator, + 'other': OptionalChangePolicy._other_validator, +} + +OptionalChangePolicy.disabled = OptionalChangePolicy('disabled') +OptionalChangePolicy.optional = OptionalChangePolicy('optional') +OptionalChangePolicy.required = OptionalChangePolicy('required') +OptionalChangePolicy.other = OptionalChangePolicy('other') + +OriginLogInfo._geo_location_validator = bv.Nullable(GeoLocationLogInfo_validator) +OriginLogInfo._host_validator = bv.Nullable(HostLogInfo_validator) +OriginLogInfo._access_method_validator = AccessMethodLogInfo_validator +OriginLogInfo._all_field_names_ = set([ + 'geo_location', + 'host', + 'access_method', +]) +OriginLogInfo._all_fields_ = [ + ('geo_location', OriginLogInfo._geo_location_validator), + ('host', OriginLogInfo._host_validator), + ('access_method', OriginLogInfo._access_method_validator), +] + +PaperAccessType._viewer_validator = bv.Void() +PaperAccessType._commenter_validator = bv.Void() +PaperAccessType._editor_validator = bv.Void() +PaperAccessType._other_validator = bv.Void() +PaperAccessType._tagmap = { + 'viewer': PaperAccessType._viewer_validator, + 'commenter': PaperAccessType._commenter_validator, + 'editor': PaperAccessType._editor_validator, + 'other': PaperAccessType._other_validator, +} + +PaperAccessType.viewer = PaperAccessType('viewer') +PaperAccessType.commenter = PaperAccessType('commenter') +PaperAccessType.editor = PaperAccessType('editor') +PaperAccessType.other = PaperAccessType('other') + +PaperChangeDeploymentPolicyDetails._new_value_validator = PaperDeploymentPolicy_validator +PaperChangeDeploymentPolicyDetails._previous_value_validator = bv.Nullable(PaperDeploymentPolicy_validator) +PaperChangeDeploymentPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PaperChangeDeploymentPolicyDetails._all_fields_ = [ + ('new_value', PaperChangeDeploymentPolicyDetails._new_value_validator), + ('previous_value', PaperChangeDeploymentPolicyDetails._previous_value_validator), +] + +PaperChangeMemberPolicyDetails._new_value_validator = ExternalSharingAccessibilityPolicy_validator +PaperChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(ExternalSharingAccessibilityPolicy_validator) +PaperChangeMemberPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PaperChangeMemberPolicyDetails._all_fields_ = [ + ('new_value', PaperChangeMemberPolicyDetails._new_value_validator), + ('previous_value', PaperChangeMemberPolicyDetails._previous_value_validator), +] + +PaperChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +PaperChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +PaperChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PaperChangePolicyDetails._all_fields_ = [ + ('new_value', PaperChangePolicyDetails._new_value_validator), + ('previous_value', PaperChangePolicyDetails._previous_value_validator), +] + +PaperContentAddMemberDetails._event_uuid_validator = bv.String() +PaperContentAddMemberDetails._all_field_names_ = set(['event_uuid']) +PaperContentAddMemberDetails._all_fields_ = [('event_uuid', PaperContentAddMemberDetails._event_uuid_validator)] + +PaperContentAddToFolderDetails._event_uuid_validator = bv.String() +PaperContentAddToFolderDetails._target_index_validator = bv.Int64() +PaperContentAddToFolderDetails._parent_index_validator = bv.Int64() +PaperContentAddToFolderDetails._all_field_names_ = set([ + 'event_uuid', + 'target_index', + 'parent_index', +]) +PaperContentAddToFolderDetails._all_fields_ = [ + ('event_uuid', PaperContentAddToFolderDetails._event_uuid_validator), + ('target_index', PaperContentAddToFolderDetails._target_index_validator), + ('parent_index', PaperContentAddToFolderDetails._parent_index_validator), +] + +PaperContentArchiveDetails._event_uuid_validator = bv.String() +PaperContentArchiveDetails._all_field_names_ = set(['event_uuid']) +PaperContentArchiveDetails._all_fields_ = [('event_uuid', PaperContentArchiveDetails._event_uuid_validator)] + +PaperContentChangeSubscriptionDetails._event_uuid_validator = bv.String() +PaperContentChangeSubscriptionDetails._new_subscription_level_validator = PaperTaggedValue_validator +PaperContentChangeSubscriptionDetails._previous_subscription_level_validator = bv.Nullable(PaperTaggedValue_validator) +PaperContentChangeSubscriptionDetails._all_field_names_ = set([ + 'event_uuid', + 'new_subscription_level', + 'previous_subscription_level', +]) +PaperContentChangeSubscriptionDetails._all_fields_ = [ + ('event_uuid', PaperContentChangeSubscriptionDetails._event_uuid_validator), + ('new_subscription_level', PaperContentChangeSubscriptionDetails._new_subscription_level_validator), + ('previous_subscription_level', PaperContentChangeSubscriptionDetails._previous_subscription_level_validator), +] + +PaperContentCreateDetails._event_uuid_validator = bv.String() +PaperContentCreateDetails._all_field_names_ = set(['event_uuid']) +PaperContentCreateDetails._all_fields_ = [('event_uuid', PaperContentCreateDetails._event_uuid_validator)] + +PaperContentPermanentlyDeleteDetails._event_uuid_validator = bv.String() +PaperContentPermanentlyDeleteDetails._all_field_names_ = set(['event_uuid']) +PaperContentPermanentlyDeleteDetails._all_fields_ = [('event_uuid', PaperContentPermanentlyDeleteDetails._event_uuid_validator)] + +PaperContentRemoveFromFolderDetails._event_uuid_validator = bv.String() +PaperContentRemoveFromFolderDetails._all_field_names_ = set(['event_uuid']) +PaperContentRemoveFromFolderDetails._all_fields_ = [('event_uuid', PaperContentRemoveFromFolderDetails._event_uuid_validator)] + +PaperContentRemoveMemberDetails._event_uuid_validator = bv.String() +PaperContentRemoveMemberDetails._all_field_names_ = set(['event_uuid']) +PaperContentRemoveMemberDetails._all_fields_ = [('event_uuid', PaperContentRemoveMemberDetails._event_uuid_validator)] + +PaperContentRenameDetails._event_uuid_validator = bv.String() +PaperContentRenameDetails._all_field_names_ = set(['event_uuid']) +PaperContentRenameDetails._all_fields_ = [('event_uuid', PaperContentRenameDetails._event_uuid_validator)] + +PaperContentRestoreDetails._event_uuid_validator = bv.String() +PaperContentRestoreDetails._all_field_names_ = set(['event_uuid']) +PaperContentRestoreDetails._all_fields_ = [('event_uuid', PaperContentRestoreDetails._event_uuid_validator)] + +PaperDeploymentPolicy._partial_validator = bv.Void() +PaperDeploymentPolicy._full_validator = bv.Void() +PaperDeploymentPolicy._other_validator = bv.Void() +PaperDeploymentPolicy._tagmap = { + 'partial': PaperDeploymentPolicy._partial_validator, + 'full': PaperDeploymentPolicy._full_validator, + 'other': PaperDeploymentPolicy._other_validator, +} + +PaperDeploymentPolicy.partial = PaperDeploymentPolicy('partial') +PaperDeploymentPolicy.full = PaperDeploymentPolicy('full') +PaperDeploymentPolicy.other = PaperDeploymentPolicy('other') + +PaperDocAddCommentDetails._event_uuid_validator = bv.String() +PaperDocAddCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +PaperDocAddCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +PaperDocAddCommentDetails._all_fields_ = [ + ('event_uuid', PaperDocAddCommentDetails._event_uuid_validator), + ('comment_text', PaperDocAddCommentDetails._comment_text_validator), +] + +PaperDocChangeMemberRoleDetails._event_uuid_validator = bv.String() +PaperDocChangeMemberRoleDetails._access_type_validator = PaperAccessType_validator +PaperDocChangeMemberRoleDetails._all_field_names_ = set([ + 'event_uuid', + 'access_type', +]) +PaperDocChangeMemberRoleDetails._all_fields_ = [ + ('event_uuid', PaperDocChangeMemberRoleDetails._event_uuid_validator), + ('access_type', PaperDocChangeMemberRoleDetails._access_type_validator), +] + +PaperDocChangeSharingPolicyDetails._event_uuid_validator = bv.String() +PaperDocChangeSharingPolicyDetails._public_sharing_policy_validator = bv.Nullable(bv.String()) +PaperDocChangeSharingPolicyDetails._team_sharing_policy_validator = bv.Nullable(bv.String()) +PaperDocChangeSharingPolicyDetails._all_field_names_ = set([ + 'event_uuid', + 'public_sharing_policy', + 'team_sharing_policy', +]) +PaperDocChangeSharingPolicyDetails._all_fields_ = [ + ('event_uuid', PaperDocChangeSharingPolicyDetails._event_uuid_validator), + ('public_sharing_policy', PaperDocChangeSharingPolicyDetails._public_sharing_policy_validator), + ('team_sharing_policy', PaperDocChangeSharingPolicyDetails._team_sharing_policy_validator), +] + +PaperDocDeleteCommentDetails._event_uuid_validator = bv.String() +PaperDocDeleteCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +PaperDocDeleteCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +PaperDocDeleteCommentDetails._all_fields_ = [ + ('event_uuid', PaperDocDeleteCommentDetails._event_uuid_validator), + ('comment_text', PaperDocDeleteCommentDetails._comment_text_validator), +] + +PaperDocDeletedDetails._event_uuid_validator = bv.String() +PaperDocDeletedDetails._all_field_names_ = set(['event_uuid']) +PaperDocDeletedDetails._all_fields_ = [('event_uuid', PaperDocDeletedDetails._event_uuid_validator)] + +PaperDocDownloadDetails._event_uuid_validator = bv.String() +PaperDocDownloadDetails._export_file_format_validator = PaperDownloadFormat_validator +PaperDocDownloadDetails._all_field_names_ = set([ + 'event_uuid', + 'export_file_format', +]) +PaperDocDownloadDetails._all_fields_ = [ + ('event_uuid', PaperDocDownloadDetails._event_uuid_validator), + ('export_file_format', PaperDocDownloadDetails._export_file_format_validator), +] + +PaperDocEditCommentDetails._event_uuid_validator = bv.String() +PaperDocEditCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +PaperDocEditCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +PaperDocEditCommentDetails._all_fields_ = [ + ('event_uuid', PaperDocEditCommentDetails._event_uuid_validator), + ('comment_text', PaperDocEditCommentDetails._comment_text_validator), +] + +PaperDocEditDetails._event_uuid_validator = bv.String() +PaperDocEditDetails._all_field_names_ = set(['event_uuid']) +PaperDocEditDetails._all_fields_ = [('event_uuid', PaperDocEditDetails._event_uuid_validator)] + +PaperDocFollowedDetails._event_uuid_validator = bv.String() +PaperDocFollowedDetails._all_field_names_ = set(['event_uuid']) +PaperDocFollowedDetails._all_fields_ = [('event_uuid', PaperDocFollowedDetails._event_uuid_validator)] + +PaperDocMentionDetails._event_uuid_validator = bv.String() +PaperDocMentionDetails._all_field_names_ = set(['event_uuid']) +PaperDocMentionDetails._all_fields_ = [('event_uuid', PaperDocMentionDetails._event_uuid_validator)] + +PaperDocRequestAccessDetails._event_uuid_validator = bv.String() +PaperDocRequestAccessDetails._all_field_names_ = set(['event_uuid']) +PaperDocRequestAccessDetails._all_fields_ = [('event_uuid', PaperDocRequestAccessDetails._event_uuid_validator)] + +PaperDocResolveCommentDetails._event_uuid_validator = bv.String() +PaperDocResolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +PaperDocResolveCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +PaperDocResolveCommentDetails._all_fields_ = [ + ('event_uuid', PaperDocResolveCommentDetails._event_uuid_validator), + ('comment_text', PaperDocResolveCommentDetails._comment_text_validator), +] + +PaperDocRevertDetails._event_uuid_validator = bv.String() +PaperDocRevertDetails._all_field_names_ = set(['event_uuid']) +PaperDocRevertDetails._all_fields_ = [('event_uuid', PaperDocRevertDetails._event_uuid_validator)] + +PaperDocSlackShareDetails._event_uuid_validator = bv.String() +PaperDocSlackShareDetails._all_field_names_ = set(['event_uuid']) +PaperDocSlackShareDetails._all_fields_ = [('event_uuid', PaperDocSlackShareDetails._event_uuid_validator)] + +PaperDocTeamInviteDetails._event_uuid_validator = bv.String() +PaperDocTeamInviteDetails._all_field_names_ = set(['event_uuid']) +PaperDocTeamInviteDetails._all_fields_ = [('event_uuid', PaperDocTeamInviteDetails._event_uuid_validator)] + +PaperDocUnresolveCommentDetails._event_uuid_validator = bv.String() +PaperDocUnresolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +PaperDocUnresolveCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +PaperDocUnresolveCommentDetails._all_fields_ = [ + ('event_uuid', PaperDocUnresolveCommentDetails._event_uuid_validator), + ('comment_text', PaperDocUnresolveCommentDetails._comment_text_validator), +] + +PaperDocViewDetails._event_uuid_validator = bv.String() +PaperDocViewDetails._all_field_names_ = set(['event_uuid']) +PaperDocViewDetails._all_fields_ = [('event_uuid', PaperDocViewDetails._event_uuid_validator)] + +PaperDocumentLogInfo._doc_id_validator = bv.String() +PaperDocumentLogInfo._doc_title_validator = bv.String() +PaperDocumentLogInfo._all_field_names_ = set([ + 'doc_id', + 'doc_title', +]) +PaperDocumentLogInfo._all_fields_ = [ + ('doc_id', PaperDocumentLogInfo._doc_id_validator), + ('doc_title', PaperDocumentLogInfo._doc_title_validator), +] + +PaperDownloadFormat._docx_validator = bv.Void() +PaperDownloadFormat._html_validator = bv.Void() +PaperDownloadFormat._markdown_validator = bv.Void() +PaperDownloadFormat._other_validator = bv.Void() +PaperDownloadFormat._tagmap = { + 'docx': PaperDownloadFormat._docx_validator, + 'html': PaperDownloadFormat._html_validator, + 'markdown': PaperDownloadFormat._markdown_validator, + 'other': PaperDownloadFormat._other_validator, +} + +PaperDownloadFormat.docx = PaperDownloadFormat('docx') +PaperDownloadFormat.html = PaperDownloadFormat('html') +PaperDownloadFormat.markdown = PaperDownloadFormat('markdown') +PaperDownloadFormat.other = PaperDownloadFormat('other') + +PaperEnabledUsersGroupAdditionDetails._all_field_names_ = set([]) +PaperEnabledUsersGroupAdditionDetails._all_fields_ = [] + +PaperEnabledUsersGroupRemovalDetails._all_field_names_ = set([]) +PaperEnabledUsersGroupRemovalDetails._all_fields_ = [] + +PaperExternalViewAllowDetails._all_field_names_ = set([]) +PaperExternalViewAllowDetails._all_fields_ = [] + +PaperExternalViewDefaultTeamDetails._all_field_names_ = set([]) +PaperExternalViewDefaultTeamDetails._all_fields_ = [] + +PaperExternalViewForbidDetails._all_field_names_ = set([]) +PaperExternalViewForbidDetails._all_fields_ = [] + +PaperFolderDeletedDetails._event_uuid_validator = bv.String() +PaperFolderDeletedDetails._all_field_names_ = set(['event_uuid']) +PaperFolderDeletedDetails._all_fields_ = [('event_uuid', PaperFolderDeletedDetails._event_uuid_validator)] + +PaperFolderFollowedDetails._event_uuid_validator = bv.String() +PaperFolderFollowedDetails._all_field_names_ = set(['event_uuid']) +PaperFolderFollowedDetails._all_fields_ = [('event_uuid', PaperFolderFollowedDetails._event_uuid_validator)] + +PaperFolderLogInfo._folder_id_validator = bv.String() +PaperFolderLogInfo._folder_name_validator = bv.String() +PaperFolderLogInfo._all_field_names_ = set([ + 'folder_id', + 'folder_name', +]) +PaperFolderLogInfo._all_fields_ = [ + ('folder_id', PaperFolderLogInfo._folder_id_validator), + ('folder_name', PaperFolderLogInfo._folder_name_validator), +] + +PaperFolderTeamInviteDetails._event_uuid_validator = bv.String() +PaperFolderTeamInviteDetails._all_field_names_ = set(['event_uuid']) +PaperFolderTeamInviteDetails._all_fields_ = [('event_uuid', PaperFolderTeamInviteDetails._event_uuid_validator)] + +PaperTaggedValue._tag_validator = bv.String() +PaperTaggedValue._all_field_names_ = set(['tag']) +PaperTaggedValue._all_fields_ = [('tag', PaperTaggedValue._tag_validator)] + +ParticipantLogInfo._user_validator = UserLogInfo_validator +ParticipantLogInfo._group_validator = GroupLogInfo_validator +ParticipantLogInfo._other_validator = bv.Void() +ParticipantLogInfo._tagmap = { + 'user': ParticipantLogInfo._user_validator, + 'group': ParticipantLogInfo._group_validator, + 'other': ParticipantLogInfo._other_validator, +} + +ParticipantLogInfo.other = ParticipantLogInfo('other') + +PasswordChangeDetails._all_field_names_ = set([]) +PasswordChangeDetails._all_fields_ = [] + +PasswordLoginFailDetails._failure_reason_validator = bv.Nullable(bv.String()) +PasswordLoginFailDetails._all_field_names_ = set(['failure_reason']) +PasswordLoginFailDetails._all_fields_ = [('failure_reason', PasswordLoginFailDetails._failure_reason_validator)] + +PasswordLoginSuccessDetails._is_emm_managed_validator = bv.Boolean() +PasswordLoginSuccessDetails._all_field_names_ = set(['is_emm_managed']) +PasswordLoginSuccessDetails._all_fields_ = [('is_emm_managed', PasswordLoginSuccessDetails._is_emm_managed_validator)] + +PasswordResetAllDetails._all_field_names_ = set([]) +PasswordResetAllDetails._all_fields_ = [] + +PasswordResetDetails._all_field_names_ = set([]) +PasswordResetDetails._all_fields_ = [] + +PathLogInfo._contextual_validator = bv.Nullable(files.Path_validator) +PathLogInfo._namespace_relative_validator = NamespaceRelativePathLogInfo_validator +PathLogInfo._all_field_names_ = set([ + 'contextual', + 'namespace_relative', +]) +PathLogInfo._all_fields_ = [ + ('contextual', PathLogInfo._contextual_validator), + ('namespace_relative', PathLogInfo._namespace_relative_validator), +] + +PermanentDeleteChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +PermanentDeleteChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +PermanentDeleteChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PermanentDeleteChangePolicyDetails._all_fields_ = [ + ('new_value', PermanentDeleteChangePolicyDetails._new_value_validator), + ('previous_value', PermanentDeleteChangePolicyDetails._previous_value_validator), +] + +PlacementRestriction._europe_only_validator = bv.Void() +PlacementRestriction._none_validator = bv.Void() +PlacementRestriction._other_validator = bv.Void() +PlacementRestriction._tagmap = { + 'europe_only': PlacementRestriction._europe_only_validator, + 'none': PlacementRestriction._none_validator, + 'other': PlacementRestriction._other_validator, +} + +PlacementRestriction.europe_only = PlacementRestriction('europe_only') +PlacementRestriction.none = PlacementRestriction('none') +PlacementRestriction.other = PlacementRestriction('other') + +RemoveLogoutUrlDetails._previous_sso_logout_url_validator = bv.String() +RemoveLogoutUrlDetails._new_sso_logout_url_validator = bv.Nullable(bv.String()) +RemoveLogoutUrlDetails._all_field_names_ = set([ + 'previous_sso_logout_url', + 'new_sso_logout_url', +]) +RemoveLogoutUrlDetails._all_fields_ = [ + ('previous_sso_logout_url', RemoveLogoutUrlDetails._previous_sso_logout_url_validator), + ('new_sso_logout_url', RemoveLogoutUrlDetails._new_sso_logout_url_validator), +] + +RemoveSsoUrlDetails._previous_sso_url_validator = bv.String() +RemoveSsoUrlDetails._all_field_names_ = set(['previous_sso_url']) +RemoveSsoUrlDetails._all_fields_ = [('previous_sso_url', RemoveSsoUrlDetails._previous_sso_url_validator)] + +ResellerLogInfo._reseller_name_validator = bv.String() +ResellerLogInfo._reseller_id_validator = team_common.ResellerId_validator +ResellerLogInfo._all_field_names_ = set([ + 'reseller_name', + 'reseller_id', +]) +ResellerLogInfo._all_fields_ = [ + ('reseller_name', ResellerLogInfo._reseller_name_validator), + ('reseller_id', ResellerLogInfo._reseller_id_validator), +] + +ResellerSupportSessionEndDetails._all_field_names_ = set([]) +ResellerSupportSessionEndDetails._all_fields_ = [] + +ResellerSupportSessionStartDetails._all_field_names_ = set([]) +ResellerSupportSessionStartDetails._all_fields_ = [] + +SessionsManagementIdleLengthPolicy._none_validator = bv.Void() +SessionsManagementIdleLengthPolicy._minute_10_validator = bv.Void() +SessionsManagementIdleLengthPolicy._minute_30_validator = bv.Void() +SessionsManagementIdleLengthPolicy._hour_1_validator = bv.Void() +SessionsManagementIdleLengthPolicy._hour_8_validator = bv.Void() +SessionsManagementIdleLengthPolicy._hour_24_validator = bv.Void() +SessionsManagementIdleLengthPolicy._hour_48_validator = bv.Void() +SessionsManagementIdleLengthPolicy._other_validator = bv.Void() +SessionsManagementIdleLengthPolicy._tagmap = { + 'none': SessionsManagementIdleLengthPolicy._none_validator, + 'minute_10': SessionsManagementIdleLengthPolicy._minute_10_validator, + 'minute_30': SessionsManagementIdleLengthPolicy._minute_30_validator, + 'hour_1': SessionsManagementIdleLengthPolicy._hour_1_validator, + 'hour_8': SessionsManagementIdleLengthPolicy._hour_8_validator, + 'hour_24': SessionsManagementIdleLengthPolicy._hour_24_validator, + 'hour_48': SessionsManagementIdleLengthPolicy._hour_48_validator, + 'other': SessionsManagementIdleLengthPolicy._other_validator, +} + +SessionsManagementIdleLengthPolicy.none = SessionsManagementIdleLengthPolicy('none') +SessionsManagementIdleLengthPolicy.minute_10 = SessionsManagementIdleLengthPolicy('minute_10') +SessionsManagementIdleLengthPolicy.minute_30 = SessionsManagementIdleLengthPolicy('minute_30') +SessionsManagementIdleLengthPolicy.hour_1 = SessionsManagementIdleLengthPolicy('hour_1') +SessionsManagementIdleLengthPolicy.hour_8 = SessionsManagementIdleLengthPolicy('hour_8') +SessionsManagementIdleLengthPolicy.hour_24 = SessionsManagementIdleLengthPolicy('hour_24') +SessionsManagementIdleLengthPolicy.hour_48 = SessionsManagementIdleLengthPolicy('hour_48') +SessionsManagementIdleLengthPolicy.other = SessionsManagementIdleLengthPolicy('other') + +SessionsManagementSessionLengthPolicy._day_1_validator = bv.Void() +SessionsManagementSessionLengthPolicy._day_7_validator = bv.Void() +SessionsManagementSessionLengthPolicy._day_14_validator = bv.Void() +SessionsManagementSessionLengthPolicy._month_1_validator = bv.Void() +SessionsManagementSessionLengthPolicy._month_3_validator = bv.Void() +SessionsManagementSessionLengthPolicy._month_6_validator = bv.Void() +SessionsManagementSessionLengthPolicy._year_1_validator = bv.Void() +SessionsManagementSessionLengthPolicy._other_validator = bv.Void() +SessionsManagementSessionLengthPolicy._tagmap = { + 'day_1': SessionsManagementSessionLengthPolicy._day_1_validator, + 'day_7': SessionsManagementSessionLengthPolicy._day_7_validator, + 'day_14': SessionsManagementSessionLengthPolicy._day_14_validator, + 'month_1': SessionsManagementSessionLengthPolicy._month_1_validator, + 'month_3': SessionsManagementSessionLengthPolicy._month_3_validator, + 'month_6': SessionsManagementSessionLengthPolicy._month_6_validator, + 'year_1': SessionsManagementSessionLengthPolicy._year_1_validator, + 'other': SessionsManagementSessionLengthPolicy._other_validator, +} + +SessionsManagementSessionLengthPolicy.day_1 = SessionsManagementSessionLengthPolicy('day_1') +SessionsManagementSessionLengthPolicy.day_7 = SessionsManagementSessionLengthPolicy('day_7') +SessionsManagementSessionLengthPolicy.day_14 = SessionsManagementSessionLengthPolicy('day_14') +SessionsManagementSessionLengthPolicy.month_1 = SessionsManagementSessionLengthPolicy('month_1') +SessionsManagementSessionLengthPolicy.month_3 = SessionsManagementSessionLengthPolicy('month_3') +SessionsManagementSessionLengthPolicy.month_6 = SessionsManagementSessionLengthPolicy('month_6') +SessionsManagementSessionLengthPolicy.year_1 = SessionsManagementSessionLengthPolicy('year_1') +SessionsManagementSessionLengthPolicy.other = SessionsManagementSessionLengthPolicy('other') + +SfAddGroupDetails._target_index_validator = bv.Int64() +SfAddGroupDetails._original_folder_name_validator = bv.String() +SfAddGroupDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfAddGroupDetails._team_name_validator = bv.String() +SfAddGroupDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', + 'team_name', +]) +SfAddGroupDetails._all_fields_ = [ + ('target_index', SfAddGroupDetails._target_index_validator), + ('original_folder_name', SfAddGroupDetails._original_folder_name_validator), + ('sharing_permission', SfAddGroupDetails._sharing_permission_validator), + ('team_name', SfAddGroupDetails._team_name_validator), +] + +SfAllowNonMembersToViewSharedLinksDetails._target_index_validator = bv.Int64() +SfAllowNonMembersToViewSharedLinksDetails._original_folder_name_validator = bv.String() +SfAllowNonMembersToViewSharedLinksDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SfAllowNonMembersToViewSharedLinksDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', +]) +SfAllowNonMembersToViewSharedLinksDetails._all_fields_ = [ + ('target_index', SfAllowNonMembersToViewSharedLinksDetails._target_index_validator), + ('original_folder_name', SfAllowNonMembersToViewSharedLinksDetails._original_folder_name_validator), + ('shared_folder_type', SfAllowNonMembersToViewSharedLinksDetails._shared_folder_type_validator), +] + +SfExternalInviteWarnDetails._all_field_names_ = set([]) +SfExternalInviteWarnDetails._all_fields_ = [] + +SfInviteGroupDetails._target_index_validator = bv.Int64() +SfInviteGroupDetails._all_field_names_ = set(['target_index']) +SfInviteGroupDetails._all_fields_ = [('target_index', SfInviteGroupDetails._target_index_validator)] + +SfNestDetails._target_index_validator = bv.Int64() +SfNestDetails._original_folder_name_validator = bv.String() +SfNestDetails._prev_parent_ns_id_validator = bv.Nullable(common.NamespaceId_validator) +SfNestDetails._new_parent_ns_id_validator = bv.Nullable(common.NamespaceId_validator) +SfNestDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'prev_parent_ns_id', + 'new_parent_ns_id', +]) +SfNestDetails._all_fields_ = [ + ('target_index', SfNestDetails._target_index_validator), + ('original_folder_name', SfNestDetails._original_folder_name_validator), + ('prev_parent_ns_id', SfNestDetails._prev_parent_ns_id_validator), + ('new_parent_ns_id', SfNestDetails._new_parent_ns_id_validator), +] + +SfTeamDeclineDetails._target_index_validator = bv.Int64() +SfTeamDeclineDetails._original_folder_name_validator = bv.String() +SfTeamDeclineDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SfTeamDeclineDetails._all_fields_ = [ + ('target_index', SfTeamDeclineDetails._target_index_validator), + ('original_folder_name', SfTeamDeclineDetails._original_folder_name_validator), +] + +SfTeamGrantAccessDetails._target_index_validator = bv.Int64() +SfTeamGrantAccessDetails._original_folder_name_validator = bv.String() +SfTeamGrantAccessDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SfTeamGrantAccessDetails._all_fields_ = [ + ('target_index', SfTeamGrantAccessDetails._target_index_validator), + ('original_folder_name', SfTeamGrantAccessDetails._original_folder_name_validator), +] + +SfTeamInviteChangeRoleDetails._target_index_validator = bv.Int64() +SfTeamInviteChangeRoleDetails._original_folder_name_validator = bv.String() +SfTeamInviteChangeRoleDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfTeamInviteChangeRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SfTeamInviteChangeRoleDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', + 'previous_sharing_permission', +]) +SfTeamInviteChangeRoleDetails._all_fields_ = [ + ('target_index', SfTeamInviteChangeRoleDetails._target_index_validator), + ('original_folder_name', SfTeamInviteChangeRoleDetails._original_folder_name_validator), + ('sharing_permission', SfTeamInviteChangeRoleDetails._sharing_permission_validator), + ('previous_sharing_permission', SfTeamInviteChangeRoleDetails._previous_sharing_permission_validator), +] + +SfTeamInviteDetails._target_index_validator = bv.Int64() +SfTeamInviteDetails._original_folder_name_validator = bv.String() +SfTeamInviteDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfTeamInviteDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', +]) +SfTeamInviteDetails._all_fields_ = [ + ('target_index', SfTeamInviteDetails._target_index_validator), + ('original_folder_name', SfTeamInviteDetails._original_folder_name_validator), + ('sharing_permission', SfTeamInviteDetails._sharing_permission_validator), +] + +SfTeamJoinDetails._target_index_validator = bv.Int64() +SfTeamJoinDetails._original_folder_name_validator = bv.String() +SfTeamJoinDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SfTeamJoinDetails._all_fields_ = [ + ('target_index', SfTeamJoinDetails._target_index_validator), + ('original_folder_name', SfTeamJoinDetails._original_folder_name_validator), +] + +SfTeamJoinFromOobLinkDetails._target_index_validator = bv.Int64() +SfTeamJoinFromOobLinkDetails._original_folder_name_validator = bv.String() +SfTeamJoinFromOobLinkDetails._token_key_validator = bv.Nullable(bv.String()) +SfTeamJoinFromOobLinkDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfTeamJoinFromOobLinkDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'token_key', + 'sharing_permission', +]) +SfTeamJoinFromOobLinkDetails._all_fields_ = [ + ('target_index', SfTeamJoinFromOobLinkDetails._target_index_validator), + ('original_folder_name', SfTeamJoinFromOobLinkDetails._original_folder_name_validator), + ('token_key', SfTeamJoinFromOobLinkDetails._token_key_validator), + ('sharing_permission', SfTeamJoinFromOobLinkDetails._sharing_permission_validator), +] + +SfTeamUninviteDetails._target_index_validator = bv.Int64() +SfTeamUninviteDetails._original_folder_name_validator = bv.String() +SfTeamUninviteDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SfTeamUninviteDetails._all_fields_ = [ + ('target_index', SfTeamUninviteDetails._target_index_validator), + ('original_folder_name', SfTeamUninviteDetails._original_folder_name_validator), +] + +SharedContentAddInviteesDetails._target_index_validator = bv.Int64() +SharedContentAddInviteesDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentAddInviteesDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentAddInviteesDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', +]) +SharedContentAddInviteesDetails._all_fields_ = [ + ('target_index', SharedContentAddInviteesDetails._target_index_validator), + ('original_folder_name', SharedContentAddInviteesDetails._original_folder_name_validator), + ('sharing_permission', SharedContentAddInviteesDetails._sharing_permission_validator), +] + +SharedContentAddLinkExpiryDetails._target_index_validator = bv.Int64() +SharedContentAddLinkExpiryDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentAddLinkExpiryDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentAddLinkExpiryDetails._expiration_start_date_validator = bv.String() +SharedContentAddLinkExpiryDetails._expiration_days_validator = bv.Int64() +SharedContentAddLinkExpiryDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'expiration_start_date', + 'expiration_days', +]) +SharedContentAddLinkExpiryDetails._all_fields_ = [ + ('target_index', SharedContentAddLinkExpiryDetails._target_index_validator), + ('original_folder_name', SharedContentAddLinkExpiryDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentAddLinkExpiryDetails._shared_folder_type_validator), + ('expiration_start_date', SharedContentAddLinkExpiryDetails._expiration_start_date_validator), + ('expiration_days', SharedContentAddLinkExpiryDetails._expiration_days_validator), +] + +SharedContentAddLinkPasswordDetails._target_index_validator = bv.Int64() +SharedContentAddLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentAddLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentAddLinkPasswordDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', +]) +SharedContentAddLinkPasswordDetails._all_fields_ = [ + ('target_index', SharedContentAddLinkPasswordDetails._target_index_validator), + ('original_folder_name', SharedContentAddLinkPasswordDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentAddLinkPasswordDetails._shared_folder_type_validator), +] + +SharedContentAddMemberDetails._target_index_validator = bv.Int64() +SharedContentAddMemberDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentAddMemberDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentAddMemberDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentAddMemberDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', + 'shared_folder_type', +]) +SharedContentAddMemberDetails._all_fields_ = [ + ('target_index', SharedContentAddMemberDetails._target_index_validator), + ('original_folder_name', SharedContentAddMemberDetails._original_folder_name_validator), + ('sharing_permission', SharedContentAddMemberDetails._sharing_permission_validator), + ('shared_folder_type', SharedContentAddMemberDetails._shared_folder_type_validator), +] + +SharedContentChangeDownloadsPolicyDetails._target_index_validator = bv.Int64() +SharedContentChangeDownloadsPolicyDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeDownloadsPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeDownloadsPolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +SharedContentChangeDownloadsPolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +SharedContentChangeDownloadsPolicyDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedContentChangeDownloadsPolicyDetails._all_fields_ = [ + ('target_index', SharedContentChangeDownloadsPolicyDetails._target_index_validator), + ('original_folder_name', SharedContentChangeDownloadsPolicyDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentChangeDownloadsPolicyDetails._shared_folder_type_validator), + ('new_value', SharedContentChangeDownloadsPolicyDetails._new_value_validator), + ('previous_value', SharedContentChangeDownloadsPolicyDetails._previous_value_validator), +] + +SharedContentChangeInviteeRoleDetails._target_index_validator = bv.Int64() +SharedContentChangeInviteeRoleDetails._original_folder_name_validator = bv.String() +SharedContentChangeInviteeRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentChangeInviteeRoleDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentChangeInviteeRoleDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'previous_sharing_permission', + 'sharing_permission', +]) +SharedContentChangeInviteeRoleDetails._all_fields_ = [ + ('target_index', SharedContentChangeInviteeRoleDetails._target_index_validator), + ('original_folder_name', SharedContentChangeInviteeRoleDetails._original_folder_name_validator), + ('previous_sharing_permission', SharedContentChangeInviteeRoleDetails._previous_sharing_permission_validator), + ('sharing_permission', SharedContentChangeInviteeRoleDetails._sharing_permission_validator), +] + +SharedContentChangeLinkAudienceDetails._target_index_validator = bv.Int64() +SharedContentChangeLinkAudienceDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkAudienceDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkAudienceDetails._new_value_validator = LinkAudience_validator +SharedContentChangeLinkAudienceDetails._previous_value_validator = bv.Nullable(LinkAudience_validator) +SharedContentChangeLinkAudienceDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedContentChangeLinkAudienceDetails._all_fields_ = [ + ('target_index', SharedContentChangeLinkAudienceDetails._target_index_validator), + ('original_folder_name', SharedContentChangeLinkAudienceDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentChangeLinkAudienceDetails._shared_folder_type_validator), + ('new_value', SharedContentChangeLinkAudienceDetails._new_value_validator), + ('previous_value', SharedContentChangeLinkAudienceDetails._previous_value_validator), +] + +SharedContentChangeLinkExpiryDetails._target_index_validator = bv.Int64() +SharedContentChangeLinkExpiryDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkExpiryDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkExpiryDetails._expiration_start_date_validator = bv.String() +SharedContentChangeLinkExpiryDetails._expiration_days_validator = bv.Int64() +SharedContentChangeLinkExpiryDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'expiration_start_date', + 'expiration_days', +]) +SharedContentChangeLinkExpiryDetails._all_fields_ = [ + ('target_index', SharedContentChangeLinkExpiryDetails._target_index_validator), + ('original_folder_name', SharedContentChangeLinkExpiryDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentChangeLinkExpiryDetails._shared_folder_type_validator), + ('expiration_start_date', SharedContentChangeLinkExpiryDetails._expiration_start_date_validator), + ('expiration_days', SharedContentChangeLinkExpiryDetails._expiration_days_validator), +] + +SharedContentChangeLinkPasswordDetails._target_index_validator = bv.Int64() +SharedContentChangeLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkPasswordDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', +]) +SharedContentChangeLinkPasswordDetails._all_fields_ = [ + ('target_index', SharedContentChangeLinkPasswordDetails._target_index_validator), + ('original_folder_name', SharedContentChangeLinkPasswordDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentChangeLinkPasswordDetails._shared_folder_type_validator), +] + +SharedContentChangeMemberRoleDetails._target_index_validator = bv.Int64() +SharedContentChangeMemberRoleDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeMemberRoleDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentChangeMemberRoleDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeMemberRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentChangeMemberRoleDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', + 'shared_folder_type', + 'previous_sharing_permission', +]) +SharedContentChangeMemberRoleDetails._all_fields_ = [ + ('target_index', SharedContentChangeMemberRoleDetails._target_index_validator), + ('original_folder_name', SharedContentChangeMemberRoleDetails._original_folder_name_validator), + ('sharing_permission', SharedContentChangeMemberRoleDetails._sharing_permission_validator), + ('shared_folder_type', SharedContentChangeMemberRoleDetails._shared_folder_type_validator), + ('previous_sharing_permission', SharedContentChangeMemberRoleDetails._previous_sharing_permission_validator), +] + +SharedContentChangeViewerInfoPolicyDetails._target_index_validator = bv.Int64() +SharedContentChangeViewerInfoPolicyDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeViewerInfoPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeViewerInfoPolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +SharedContentChangeViewerInfoPolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +SharedContentChangeViewerInfoPolicyDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedContentChangeViewerInfoPolicyDetails._all_fields_ = [ + ('target_index', SharedContentChangeViewerInfoPolicyDetails._target_index_validator), + ('original_folder_name', SharedContentChangeViewerInfoPolicyDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentChangeViewerInfoPolicyDetails._shared_folder_type_validator), + ('new_value', SharedContentChangeViewerInfoPolicyDetails._new_value_validator), + ('previous_value', SharedContentChangeViewerInfoPolicyDetails._previous_value_validator), +] + +SharedContentClaimInvitationDetails._target_index_validator = bv.Int64() +SharedContentClaimInvitationDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentClaimInvitationDetails._shared_content_link_validator = bv.Nullable(bv.String()) +SharedContentClaimInvitationDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_content_link', +]) +SharedContentClaimInvitationDetails._all_fields_ = [ + ('target_index', SharedContentClaimInvitationDetails._target_index_validator), + ('original_folder_name', SharedContentClaimInvitationDetails._original_folder_name_validator), + ('shared_content_link', SharedContentClaimInvitationDetails._shared_content_link_validator), +] + +SharedContentCopyDetails._shared_content_link_validator = bv.String() +SharedContentCopyDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentCopyDetails._src_index_validator = bv.Int64() +SharedContentCopyDetails._dest_index_validator = bv.Int64() +SharedContentCopyDetails._target_index_validator = bv.Int64() +SharedContentCopyDetails._all_field_names_ = set([ + 'shared_content_link', + 'sharing_permission', + 'src_index', + 'dest_index', + 'target_index', +]) +SharedContentCopyDetails._all_fields_ = [ + ('shared_content_link', SharedContentCopyDetails._shared_content_link_validator), + ('sharing_permission', SharedContentCopyDetails._sharing_permission_validator), + ('src_index', SharedContentCopyDetails._src_index_validator), + ('dest_index', SharedContentCopyDetails._dest_index_validator), + ('target_index', SharedContentCopyDetails._target_index_validator), +] + +SharedContentDownloadDetails._shared_content_link_validator = bv.String() +SharedContentDownloadDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentDownloadDetails._target_index_validator = bv.Int64() +SharedContentDownloadDetails._all_field_names_ = set([ + 'shared_content_link', + 'sharing_permission', + 'target_index', +]) +SharedContentDownloadDetails._all_fields_ = [ + ('shared_content_link', SharedContentDownloadDetails._shared_content_link_validator), + ('sharing_permission', SharedContentDownloadDetails._sharing_permission_validator), + ('target_index', SharedContentDownloadDetails._target_index_validator), +] + +SharedContentRelinquishMembershipDetails._target_index_validator = bv.Int64() +SharedContentRelinquishMembershipDetails._original_folder_name_validator = bv.String() +SharedContentRelinquishMembershipDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedContentRelinquishMembershipDetails._all_fields_ = [ + ('target_index', SharedContentRelinquishMembershipDetails._target_index_validator), + ('original_folder_name', SharedContentRelinquishMembershipDetails._original_folder_name_validator), +] + +SharedContentRemoveInviteeDetails._target_index_validator = bv.Int64() +SharedContentRemoveInviteeDetails._original_folder_name_validator = bv.String() +SharedContentRemoveInviteeDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedContentRemoveInviteeDetails._all_fields_ = [ + ('target_index', SharedContentRemoveInviteeDetails._target_index_validator), + ('original_folder_name', SharedContentRemoveInviteeDetails._original_folder_name_validator), +] + +SharedContentRemoveLinkExpiryDetails._target_index_validator = bv.Int64() +SharedContentRemoveLinkExpiryDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentRemoveLinkExpiryDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentRemoveLinkExpiryDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', +]) +SharedContentRemoveLinkExpiryDetails._all_fields_ = [ + ('target_index', SharedContentRemoveLinkExpiryDetails._target_index_validator), + ('original_folder_name', SharedContentRemoveLinkExpiryDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentRemoveLinkExpiryDetails._shared_folder_type_validator), +] + +SharedContentRemoveLinkPasswordDetails._target_index_validator = bv.Int64() +SharedContentRemoveLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentRemoveLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentRemoveLinkPasswordDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', +]) +SharedContentRemoveLinkPasswordDetails._all_fields_ = [ + ('target_index', SharedContentRemoveLinkPasswordDetails._target_index_validator), + ('original_folder_name', SharedContentRemoveLinkPasswordDetails._original_folder_name_validator), + ('shared_folder_type', SharedContentRemoveLinkPasswordDetails._shared_folder_type_validator), +] + +SharedContentRemoveMemberDetails._target_index_validator = bv.Int64() +SharedContentRemoveMemberDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentRemoveMemberDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentRemoveMemberDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentRemoveMemberDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'sharing_permission', + 'shared_folder_type', +]) +SharedContentRemoveMemberDetails._all_fields_ = [ + ('target_index', SharedContentRemoveMemberDetails._target_index_validator), + ('original_folder_name', SharedContentRemoveMemberDetails._original_folder_name_validator), + ('sharing_permission', SharedContentRemoveMemberDetails._sharing_permission_validator), + ('shared_folder_type', SharedContentRemoveMemberDetails._shared_folder_type_validator), +] + +SharedContentRequestAccessDetails._target_index_validator = bv.Int64() +SharedContentRequestAccessDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentRequestAccessDetails._shared_content_link_validator = bv.Nullable(bv.String()) +SharedContentRequestAccessDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_content_link', +]) +SharedContentRequestAccessDetails._all_fields_ = [ + ('target_index', SharedContentRequestAccessDetails._target_index_validator), + ('original_folder_name', SharedContentRequestAccessDetails._original_folder_name_validator), + ('shared_content_link', SharedContentRequestAccessDetails._shared_content_link_validator), +] + +SharedContentUnshareDetails._target_index_validator = bv.Int64() +SharedContentUnshareDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentUnshareDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedContentUnshareDetails._all_fields_ = [ + ('target_index', SharedContentUnshareDetails._target_index_validator), + ('original_folder_name', SharedContentUnshareDetails._original_folder_name_validator), +] + +SharedContentViewDetails._shared_content_link_validator = bv.String() +SharedContentViewDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentViewDetails._target_index_validator = bv.Int64() +SharedContentViewDetails._all_field_names_ = set([ + 'shared_content_link', + 'sharing_permission', + 'target_index', +]) +SharedContentViewDetails._all_fields_ = [ + ('shared_content_link', SharedContentViewDetails._shared_content_link_validator), + ('sharing_permission', SharedContentViewDetails._sharing_permission_validator), + ('target_index', SharedContentViewDetails._target_index_validator), +] + +SharedFolderChangeConfidentialityDetails._target_index_validator = bv.Int64() +SharedFolderChangeConfidentialityDetails._original_folder_name_validator = bv.String() +SharedFolderChangeConfidentialityDetails._new_value_validator = Confidentiality_validator +SharedFolderChangeConfidentialityDetails._previous_value_validator = bv.Nullable(Confidentiality_validator) +SharedFolderChangeConfidentialityDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'new_value', + 'previous_value', +]) +SharedFolderChangeConfidentialityDetails._all_fields_ = [ + ('target_index', SharedFolderChangeConfidentialityDetails._target_index_validator), + ('original_folder_name', SharedFolderChangeConfidentialityDetails._original_folder_name_validator), + ('new_value', SharedFolderChangeConfidentialityDetails._new_value_validator), + ('previous_value', SharedFolderChangeConfidentialityDetails._previous_value_validator), +] + +SharedFolderChangeLinkPolicyDetails._target_index_validator = bv.Int64() +SharedFolderChangeLinkPolicyDetails._original_folder_name_validator = bv.String() +SharedFolderChangeLinkPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedFolderChangeLinkPolicyDetails._new_value_validator = SharedFolderLinkPolicy_validator +SharedFolderChangeLinkPolicyDetails._previous_value_validator = bv.Nullable(SharedFolderLinkPolicy_validator) +SharedFolderChangeLinkPolicyDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedFolderChangeLinkPolicyDetails._all_fields_ = [ + ('target_index', SharedFolderChangeLinkPolicyDetails._target_index_validator), + ('original_folder_name', SharedFolderChangeLinkPolicyDetails._original_folder_name_validator), + ('shared_folder_type', SharedFolderChangeLinkPolicyDetails._shared_folder_type_validator), + ('new_value', SharedFolderChangeLinkPolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeLinkPolicyDetails._previous_value_validator), +] + +SharedFolderChangeMemberManagementPolicyDetails._target_index_validator = bv.Int64() +SharedFolderChangeMemberManagementPolicyDetails._original_folder_name_validator = bv.String() +SharedFolderChangeMemberManagementPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedFolderChangeMemberManagementPolicyDetails._new_value_validator = SharedFolderMembershipManagementPolicy_validator +SharedFolderChangeMemberManagementPolicyDetails._previous_value_validator = bv.Nullable(SharedFolderMembershipManagementPolicy_validator) +SharedFolderChangeMemberManagementPolicyDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedFolderChangeMemberManagementPolicyDetails._all_fields_ = [ + ('target_index', SharedFolderChangeMemberManagementPolicyDetails._target_index_validator), + ('original_folder_name', SharedFolderChangeMemberManagementPolicyDetails._original_folder_name_validator), + ('shared_folder_type', SharedFolderChangeMemberManagementPolicyDetails._shared_folder_type_validator), + ('new_value', SharedFolderChangeMemberManagementPolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeMemberManagementPolicyDetails._previous_value_validator), +] + +SharedFolderChangeMemberPolicyDetails._target_index_validator = bv.Int64() +SharedFolderChangeMemberPolicyDetails._original_folder_name_validator = bv.String() +SharedFolderChangeMemberPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedFolderChangeMemberPolicyDetails._new_value_validator = ExternalSharingPolicy_validator +SharedFolderChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(ExternalSharingPolicy_validator) +SharedFolderChangeMemberPolicyDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', + 'shared_folder_type', + 'new_value', + 'previous_value', +]) +SharedFolderChangeMemberPolicyDetails._all_fields_ = [ + ('target_index', SharedFolderChangeMemberPolicyDetails._target_index_validator), + ('original_folder_name', SharedFolderChangeMemberPolicyDetails._original_folder_name_validator), + ('shared_folder_type', SharedFolderChangeMemberPolicyDetails._shared_folder_type_validator), + ('new_value', SharedFolderChangeMemberPolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeMemberPolicyDetails._previous_value_validator), +] + +SharedFolderCreateDetails._target_index_validator = bv.Int64() +SharedFolderCreateDetails._parent_ns_id_validator = bv.Nullable(common.NamespaceId_validator) +SharedFolderCreateDetails._all_field_names_ = set([ + 'target_index', + 'parent_ns_id', +]) +SharedFolderCreateDetails._all_fields_ = [ + ('target_index', SharedFolderCreateDetails._target_index_validator), + ('parent_ns_id', SharedFolderCreateDetails._parent_ns_id_validator), +] + +SharedFolderLinkPolicy._members_only_validator = bv.Void() +SharedFolderLinkPolicy._members_and_team_validator = bv.Void() +SharedFolderLinkPolicy._anyone_validator = bv.Void() +SharedFolderLinkPolicy._other_validator = bv.Void() +SharedFolderLinkPolicy._tagmap = { + 'members_only': SharedFolderLinkPolicy._members_only_validator, + 'members_and_team': SharedFolderLinkPolicy._members_and_team_validator, + 'anyone': SharedFolderLinkPolicy._anyone_validator, + 'other': SharedFolderLinkPolicy._other_validator, +} + +SharedFolderLinkPolicy.members_only = SharedFolderLinkPolicy('members_only') +SharedFolderLinkPolicy.members_and_team = SharedFolderLinkPolicy('members_and_team') +SharedFolderLinkPolicy.anyone = SharedFolderLinkPolicy('anyone') +SharedFolderLinkPolicy.other = SharedFolderLinkPolicy('other') + +SharedFolderLogInfo._ns_id_validator = bv.Nullable(common.NamespaceId_validator) +SharedFolderLogInfo._display_name_validator = bv.String() +SharedFolderLogInfo._all_field_names_ = set([ + 'ns_id', + 'display_name', +]) +SharedFolderLogInfo._all_fields_ = [ + ('ns_id', SharedFolderLogInfo._ns_id_validator), + ('display_name', SharedFolderLogInfo._display_name_validator), +] + +SharedFolderMembershipManagementPolicy._owner_validator = bv.Void() +SharedFolderMembershipManagementPolicy._editors_validator = bv.Void() +SharedFolderMembershipManagementPolicy._other_validator = bv.Void() +SharedFolderMembershipManagementPolicy._tagmap = { + 'owner': SharedFolderMembershipManagementPolicy._owner_validator, + 'editors': SharedFolderMembershipManagementPolicy._editors_validator, + 'other': SharedFolderMembershipManagementPolicy._other_validator, +} + +SharedFolderMembershipManagementPolicy.owner = SharedFolderMembershipManagementPolicy('owner') +SharedFolderMembershipManagementPolicy.editors = SharedFolderMembershipManagementPolicy('editors') +SharedFolderMembershipManagementPolicy.other = SharedFolderMembershipManagementPolicy('other') + +SharedFolderMountDetails._target_index_validator = bv.Int64() +SharedFolderMountDetails._original_folder_name_validator = bv.String() +SharedFolderMountDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedFolderMountDetails._all_fields_ = [ + ('target_index', SharedFolderMountDetails._target_index_validator), + ('original_folder_name', SharedFolderMountDetails._original_folder_name_validator), +] + +SharedFolderTransferOwnershipDetails._target_index_validator = bv.Int64() +SharedFolderTransferOwnershipDetails._original_folder_name_validator = bv.String() +SharedFolderTransferOwnershipDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedFolderTransferOwnershipDetails._all_fields_ = [ + ('target_index', SharedFolderTransferOwnershipDetails._target_index_validator), + ('original_folder_name', SharedFolderTransferOwnershipDetails._original_folder_name_validator), +] + +SharedFolderUnmountDetails._target_index_validator = bv.Int64() +SharedFolderUnmountDetails._original_folder_name_validator = bv.String() +SharedFolderUnmountDetails._all_field_names_ = set([ + 'target_index', + 'original_folder_name', +]) +SharedFolderUnmountDetails._all_fields_ = [ + ('target_index', SharedFolderUnmountDetails._target_index_validator), + ('original_folder_name', SharedFolderUnmountDetails._original_folder_name_validator), +] + +SharedNoteOpenedDetails._all_field_names_ = set([]) +SharedNoteOpenedDetails._all_fields_ = [] + +SharingChangeFolderJoinPolicyDetails._new_value_validator = ExternalSharingPolicy_validator +SharingChangeFolderJoinPolicyDetails._previous_value_validator = bv.Nullable(ExternalSharingPolicy_validator) +SharingChangeFolderJoinPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SharingChangeFolderJoinPolicyDetails._all_fields_ = [ + ('new_value', SharingChangeFolderJoinPolicyDetails._new_value_validator), + ('previous_value', SharingChangeFolderJoinPolicyDetails._previous_value_validator), +] + +SharingChangeLinkPolicyDetails._new_value_validator = ExternalSharingAccessibilityPolicy_validator +SharingChangeLinkPolicyDetails._previous_value_validator = bv.Nullable(ExternalSharingAccessibilityPolicy_validator) +SharingChangeLinkPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SharingChangeLinkPolicyDetails._all_fields_ = [ + ('new_value', SharingChangeLinkPolicyDetails._new_value_validator), + ('previous_value', SharingChangeLinkPolicyDetails._previous_value_validator), +] + +SharingChangeMemberPolicyDetails._new_value_validator = ExternalSharingPolicy_validator +SharingChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(ExternalSharingPolicy_validator) +SharingChangeMemberPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SharingChangeMemberPolicyDetails._all_fields_ = [ + ('new_value', SharingChangeMemberPolicyDetails._new_value_validator), + ('previous_value', SharingChangeMemberPolicyDetails._previous_value_validator), +] + +ShmodelAppCreateDetails._sharing_permission_validator = bv.Nullable(bv.String()) +ShmodelAppCreateDetails._token_key_validator = bv.Nullable(bv.String()) +ShmodelAppCreateDetails._all_field_names_ = set([ + 'sharing_permission', + 'token_key', +]) +ShmodelAppCreateDetails._all_fields_ = [ + ('sharing_permission', ShmodelAppCreateDetails._sharing_permission_validator), + ('token_key', ShmodelAppCreateDetails._token_key_validator), +] + +ShmodelCreateDetails._sharing_permission_validator = bv.Nullable(bv.String()) +ShmodelCreateDetails._token_key_validator = bv.Nullable(bv.String()) +ShmodelCreateDetails._all_field_names_ = set([ + 'sharing_permission', + 'token_key', +]) +ShmodelCreateDetails._all_fields_ = [ + ('sharing_permission', ShmodelCreateDetails._sharing_permission_validator), + ('token_key', ShmodelCreateDetails._token_key_validator), +] + +ShmodelDisableDetails._sharing_permission_validator = bv.Nullable(bv.String()) +ShmodelDisableDetails._token_key_validator = bv.Nullable(bv.String()) +ShmodelDisableDetails._all_field_names_ = set([ + 'sharing_permission', + 'token_key', +]) +ShmodelDisableDetails._all_fields_ = [ + ('sharing_permission', ShmodelDisableDetails._sharing_permission_validator), + ('token_key', ShmodelDisableDetails._token_key_validator), +] + +ShmodelFbShareDetails._sharing_non_member_recipients_validator = bv.List(NonTeamMemberLogInfo_validator) +ShmodelFbShareDetails._all_field_names_ = set(['sharing_non_member_recipients']) +ShmodelFbShareDetails._all_fields_ = [('sharing_non_member_recipients', ShmodelFbShareDetails._sharing_non_member_recipients_validator)] + +ShmodelGroupShareDetails._all_field_names_ = set([]) +ShmodelGroupShareDetails._all_fields_ = [] + +ShmodelRemoveExpirationDetails._all_field_names_ = set([]) +ShmodelRemoveExpirationDetails._all_fields_ = [] + +ShmodelSetExpirationDetails._expiration_start_date_validator = bv.String() +ShmodelSetExpirationDetails._expiration_days_validator = bv.Int64() +ShmodelSetExpirationDetails._all_field_names_ = set([ + 'expiration_start_date', + 'expiration_days', +]) +ShmodelSetExpirationDetails._all_fields_ = [ + ('expiration_start_date', ShmodelSetExpirationDetails._expiration_start_date_validator), + ('expiration_days', ShmodelSetExpirationDetails._expiration_days_validator), +] + +ShmodelTeamCopyDetails._all_field_names_ = set([]) +ShmodelTeamCopyDetails._all_fields_ = [] + +ShmodelTeamDownloadDetails._all_field_names_ = set([]) +ShmodelTeamDownloadDetails._all_fields_ = [] + +ShmodelTeamShareDetails._all_field_names_ = set([]) +ShmodelTeamShareDetails._all_fields_ = [] + +ShmodelTeamViewDetails._all_field_names_ = set([]) +ShmodelTeamViewDetails._all_fields_ = [] + +ShmodelVisibilityPasswordDetails._all_field_names_ = set([]) +ShmodelVisibilityPasswordDetails._all_fields_ = [] + +ShmodelVisibilityPublicDetails._all_field_names_ = set([]) +ShmodelVisibilityPublicDetails._all_fields_ = [] + +ShmodelVisibilityTeamOnlyDetails._all_field_names_ = set([]) +ShmodelVisibilityTeamOnlyDetails._all_fields_ = [] + +SignInAsSessionEndDetails._all_field_names_ = set([]) +SignInAsSessionEndDetails._all_fields_ = [] + +SignInAsSessionStartDetails._all_field_names_ = set([]) +SignInAsSessionStartDetails._all_fields_ = [] + +SmartSyncChangePolicyDetails._new_value_validator = SmartSyncPolicy_validator +SmartSyncChangePolicyDetails._previous_value_validator = bv.Nullable(SmartSyncPolicy_validator) +SmartSyncChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SmartSyncChangePolicyDetails._all_fields_ = [ + ('new_value', SmartSyncChangePolicyDetails._new_value_validator), + ('previous_value', SmartSyncChangePolicyDetails._previous_value_validator), +] + +SmartSyncCreateAdminPrivilegeReportDetails._all_field_names_ = set([]) +SmartSyncCreateAdminPrivilegeReportDetails._all_fields_ = [] + +SmartSyncPolicy._local_only_validator = bv.Void() +SmartSyncPolicy._synced_validator = bv.Void() +SmartSyncPolicy._other_validator = bv.Void() +SmartSyncPolicy._tagmap = { + 'local_only': SmartSyncPolicy._local_only_validator, + 'synced': SmartSyncPolicy._synced_validator, + 'other': SmartSyncPolicy._other_validator, +} + +SmartSyncPolicy.local_only = SmartSyncPolicy('local_only') +SmartSyncPolicy.synced = SmartSyncPolicy('synced') +SmartSyncPolicy.other = SmartSyncPolicy('other') + +SpaceLimitsLevel._generous_validator = bv.Void() +SpaceLimitsLevel._moderate_validator = bv.Void() +SpaceLimitsLevel._no_limit_validator = bv.Void() +SpaceLimitsLevel._strict_validator = bv.Void() +SpaceLimitsLevel._other_validator = bv.Void() +SpaceLimitsLevel._tagmap = { + 'generous': SpaceLimitsLevel._generous_validator, + 'moderate': SpaceLimitsLevel._moderate_validator, + 'no_limit': SpaceLimitsLevel._no_limit_validator, + 'strict': SpaceLimitsLevel._strict_validator, + 'other': SpaceLimitsLevel._other_validator, +} + +SpaceLimitsLevel.generous = SpaceLimitsLevel('generous') +SpaceLimitsLevel.moderate = SpaceLimitsLevel('moderate') +SpaceLimitsLevel.no_limit = SpaceLimitsLevel('no_limit') +SpaceLimitsLevel.strict = SpaceLimitsLevel('strict') +SpaceLimitsLevel.other = SpaceLimitsLevel('other') + +SpaceLimitsStatus._within_quota_validator = bv.Void() +SpaceLimitsStatus._near_quota_validator = bv.Void() +SpaceLimitsStatus._over_quota_validator = bv.Void() +SpaceLimitsStatus._other_validator = bv.Void() +SpaceLimitsStatus._tagmap = { + 'within_quota': SpaceLimitsStatus._within_quota_validator, + 'near_quota': SpaceLimitsStatus._near_quota_validator, + 'over_quota': SpaceLimitsStatus._over_quota_validator, + 'other': SpaceLimitsStatus._other_validator, +} + +SpaceLimitsStatus.within_quota = SpaceLimitsStatus('within_quota') +SpaceLimitsStatus.near_quota = SpaceLimitsStatus('near_quota') +SpaceLimitsStatus.over_quota = SpaceLimitsStatus('over_quota') +SpaceLimitsStatus.other = SpaceLimitsStatus('other') + +SsoChangeCertDetails._subject_validator = bv.String() +SsoChangeCertDetails._issuer_validator = bv.String() +SsoChangeCertDetails._issue_date_validator = bv.String() +SsoChangeCertDetails._expiration_date_validator = bv.String() +SsoChangeCertDetails._serial_number_validator = bv.String() +SsoChangeCertDetails._sha1_fingerprint_validator = bv.String() +SsoChangeCertDetails._common_name_validator = bv.String() +SsoChangeCertDetails._all_field_names_ = set([ + 'subject', + 'issuer', + 'issue_date', + 'expiration_date', + 'serial_number', + 'sha1_fingerprint', + 'common_name', +]) +SsoChangeCertDetails._all_fields_ = [ + ('subject', SsoChangeCertDetails._subject_validator), + ('issuer', SsoChangeCertDetails._issuer_validator), + ('issue_date', SsoChangeCertDetails._issue_date_validator), + ('expiration_date', SsoChangeCertDetails._expiration_date_validator), + ('serial_number', SsoChangeCertDetails._serial_number_validator), + ('sha1_fingerprint', SsoChangeCertDetails._sha1_fingerprint_validator), + ('common_name', SsoChangeCertDetails._common_name_validator), +] + +SsoChangeLoginUrlDetails._previous_sso_url_validator = bv.String() +SsoChangeLoginUrlDetails._new_sso_url_validator = bv.String() +SsoChangeLoginUrlDetails._all_field_names_ = set([ + 'previous_sso_url', + 'new_sso_url', +]) +SsoChangeLoginUrlDetails._all_fields_ = [ + ('previous_sso_url', SsoChangeLoginUrlDetails._previous_sso_url_validator), + ('new_sso_url', SsoChangeLoginUrlDetails._new_sso_url_validator), +] + +SsoChangeLogoutUrlDetails._previous_sso_logout_url_validator = bv.String() +SsoChangeLogoutUrlDetails._new_sso_logout_url_validator = bv.Nullable(bv.String()) +SsoChangeLogoutUrlDetails._all_field_names_ = set([ + 'previous_sso_logout_url', + 'new_sso_logout_url', +]) +SsoChangeLogoutUrlDetails._all_fields_ = [ + ('previous_sso_logout_url', SsoChangeLogoutUrlDetails._previous_sso_logout_url_validator), + ('new_sso_logout_url', SsoChangeLogoutUrlDetails._new_sso_logout_url_validator), +] + +SsoChangePolicyDetails._new_value_validator = OptionalChangePolicy_validator +SsoChangePolicyDetails._previous_value_validator = bv.Nullable(OptionalChangePolicy_validator) +SsoChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SsoChangePolicyDetails._all_fields_ = [ + ('new_value', SsoChangePolicyDetails._new_value_validator), + ('previous_value', SsoChangePolicyDetails._previous_value_validator), +] + +SsoChangeSamlIdentityModeDetails._previous_saml_identity_mode_validator = bv.Int64() +SsoChangeSamlIdentityModeDetails._new_saml_identity_mode_validator = bv.Int64() +SsoChangeSamlIdentityModeDetails._all_field_names_ = set([ + 'previous_saml_identity_mode', + 'new_saml_identity_mode', +]) +SsoChangeSamlIdentityModeDetails._all_fields_ = [ + ('previous_saml_identity_mode', SsoChangeSamlIdentityModeDetails._previous_saml_identity_mode_validator), + ('new_saml_identity_mode', SsoChangeSamlIdentityModeDetails._new_saml_identity_mode_validator), +] + +SsoLoginFailDetails._system_message_validator = bv.String() +SsoLoginFailDetails._admin_message_validator = bv.String() +SsoLoginFailDetails._all_field_names_ = set([ + 'system_message', + 'admin_message', +]) +SsoLoginFailDetails._all_fields_ = [ + ('system_message', SsoLoginFailDetails._system_message_validator), + ('admin_message', SsoLoginFailDetails._admin_message_validator), +] + +TeamActivityCreateReportDetails._start_date_validator = bv.String() +TeamActivityCreateReportDetails._end_date_validator = bv.String() +TeamActivityCreateReportDetails._all_field_names_ = set([ + 'start_date', + 'end_date', +]) +TeamActivityCreateReportDetails._all_fields_ = [ + ('start_date', TeamActivityCreateReportDetails._start_date_validator), + ('end_date', TeamActivityCreateReportDetails._end_date_validator), +] + +TeamEvent._timestamp_validator = common.DropboxTimestamp_validator +TeamEvent._event_categories_validator = bv.List(EventCategory_validator, min_items=1) +TeamEvent._actor_validator = ActorLogInfo_validator +TeamEvent._origin_validator = bv.Nullable(OriginLogInfo_validator) +TeamEvent._participants_validator = bv.Nullable(bv.List(ParticipantLogInfo_validator)) +TeamEvent._assets_validator = bv.Nullable(bv.List(AssetLogInfo_validator)) +TeamEvent._involve_non_team_member_validator = bv.Boolean() +TeamEvent._context_validator = ContextLogInfo_validator +TeamEvent._event_type_validator = EventType_validator +TeamEvent._details_validator = EventDetails_validator +TeamEvent._all_field_names_ = set([ + 'timestamp', + 'event_categories', + 'actor', + 'origin', + 'participants', + 'assets', + 'involve_non_team_member', + 'context', + 'event_type', + 'details', +]) +TeamEvent._all_fields_ = [ + ('timestamp', TeamEvent._timestamp_validator), + ('event_categories', TeamEvent._event_categories_validator), + ('actor', TeamEvent._actor_validator), + ('origin', TeamEvent._origin_validator), + ('participants', TeamEvent._participants_validator), + ('assets', TeamEvent._assets_validator), + ('involve_non_team_member', TeamEvent._involve_non_team_member_validator), + ('context', TeamEvent._context_validator), + ('event_type', TeamEvent._event_type_validator), + ('details', TeamEvent._details_validator), +] + +TeamFolderChangeStatusDetails._new_status_validator = TeamFolderStatus_validator +TeamFolderChangeStatusDetails._previous_status_validator = bv.Nullable(TeamFolderStatus_validator) +TeamFolderChangeStatusDetails._all_field_names_ = set([ + 'new_status', + 'previous_status', +]) +TeamFolderChangeStatusDetails._all_fields_ = [ + ('new_status', TeamFolderChangeStatusDetails._new_status_validator), + ('previous_status', TeamFolderChangeStatusDetails._previous_status_validator), +] + +TeamFolderCreateDetails._all_field_names_ = set([]) +TeamFolderCreateDetails._all_fields_ = [] + +TeamFolderDowngradeDetails._target_index_validator = bv.Int64() +TeamFolderDowngradeDetails._all_field_names_ = set(['target_index']) +TeamFolderDowngradeDetails._all_fields_ = [('target_index', TeamFolderDowngradeDetails._target_index_validator)] + +TeamFolderPermanentlyDeleteDetails._all_field_names_ = set([]) +TeamFolderPermanentlyDeleteDetails._all_fields_ = [] + +TeamFolderRenameDetails._src_index_validator = bv.Int64() +TeamFolderRenameDetails._dest_index_validator = bv.Int64() +TeamFolderRenameDetails._all_field_names_ = set([ + 'src_index', + 'dest_index', +]) +TeamFolderRenameDetails._all_fields_ = [ + ('src_index', TeamFolderRenameDetails._src_index_validator), + ('dest_index', TeamFolderRenameDetails._dest_index_validator), +] + +TeamFolderStatus._archive_validator = bv.Void() +TeamFolderStatus._unarchive_validator = bv.Void() +TeamFolderStatus._other_validator = bv.Void() +TeamFolderStatus._tagmap = { + 'archive': TeamFolderStatus._archive_validator, + 'unarchive': TeamFolderStatus._unarchive_validator, + 'other': TeamFolderStatus._other_validator, +} + +TeamFolderStatus.archive = TeamFolderStatus('archive') +TeamFolderStatus.unarchive = TeamFolderStatus('unarchive') +TeamFolderStatus.other = TeamFolderStatus('other') + +TeamLinkedAppLogInfo._field_names_ = set([]) +TeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(TeamLinkedAppLogInfo._field_names_) +TeamLinkedAppLogInfo._fields_ = [] +TeamLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + TeamLinkedAppLogInfo._fields_ + +TeamMemberLogInfo._team_member_id_validator = bv.Nullable(team_common.TeamMemberId_validator) +TeamMemberLogInfo._member_external_id_validator = bv.Nullable(team_common.MemberExternalId_validator) +TeamMemberLogInfo._field_names_ = set([ + 'team_member_id', + 'member_external_id', +]) +TeamMemberLogInfo._all_field_names_ = UserLogInfo._all_field_names_.union(TeamMemberLogInfo._field_names_) +TeamMemberLogInfo._fields_ = [ + ('team_member_id', TeamMemberLogInfo._team_member_id_validator), + ('member_external_id', TeamMemberLogInfo._member_external_id_validator), +] +TeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + TeamMemberLogInfo._fields_ + +TeamMergeDetails._merged_from_team_name_validator = bv.Nullable(bv.String()) +TeamMergeDetails._merged_to_team_name_validator = bv.Nullable(bv.String()) +TeamMergeDetails._all_field_names_ = set([ + 'merged_from_team_name', + 'merged_to_team_name', +]) +TeamMergeDetails._all_fields_ = [ + ('merged_from_team_name', TeamMergeDetails._merged_from_team_name_validator), + ('merged_to_team_name', TeamMergeDetails._merged_to_team_name_validator), +] + +TeamProfileAddLogoDetails._all_field_names_ = set([]) +TeamProfileAddLogoDetails._all_fields_ = [] + +TeamProfileChangeLogoDetails._all_field_names_ = set([]) +TeamProfileChangeLogoDetails._all_fields_ = [] + +TeamProfileChangeNameDetails._team_display_name_validator = bv.String() +TeamProfileChangeNameDetails._team_legal_name_validator = bv.String() +TeamProfileChangeNameDetails._all_field_names_ = set([ + 'team_display_name', + 'team_legal_name', +]) +TeamProfileChangeNameDetails._all_fields_ = [ + ('team_display_name', TeamProfileChangeNameDetails._team_display_name_validator), + ('team_legal_name', TeamProfileChangeNameDetails._team_legal_name_validator), +] + +TeamProfileRemoveLogoDetails._all_field_names_ = set([]) +TeamProfileRemoveLogoDetails._all_fields_ = [] + +TfaAddBackupPhoneDetails._all_field_names_ = set([]) +TfaAddBackupPhoneDetails._all_fields_ = [] + +TfaAddSecurityKeyDetails._all_field_names_ = set([]) +TfaAddSecurityKeyDetails._all_fields_ = [] + +TfaChangeBackupPhoneDetails._all_field_names_ = set([]) +TfaChangeBackupPhoneDetails._all_fields_ = [] + +TfaChangePolicyDetails._new_value_validator = OptionalChangePolicy_validator +TfaChangePolicyDetails._previous_value_validator = bv.Nullable(OptionalChangePolicy_validator) +TfaChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +TfaChangePolicyDetails._all_fields_ = [ + ('new_value', TfaChangePolicyDetails._new_value_validator), + ('previous_value', TfaChangePolicyDetails._previous_value_validator), +] + +TfaChangeStatusDetails._new_value_validator = TfaConfiguration_validator +TfaChangeStatusDetails._previous_value_validator = bv.Nullable(TfaConfiguration_validator) +TfaChangeStatusDetails._used_rescue_code_validator = bv.Nullable(bv.Boolean()) +TfaChangeStatusDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', + 'used_rescue_code', +]) +TfaChangeStatusDetails._all_fields_ = [ + ('new_value', TfaChangeStatusDetails._new_value_validator), + ('previous_value', TfaChangeStatusDetails._previous_value_validator), + ('used_rescue_code', TfaChangeStatusDetails._used_rescue_code_validator), +] + +TfaConfiguration._disabled_validator = bv.Void() +TfaConfiguration._enabled_validator = bv.Void() +TfaConfiguration._sms_validator = bv.Void() +TfaConfiguration._authenticator_validator = bv.Void() +TfaConfiguration._other_validator = bv.Void() +TfaConfiguration._tagmap = { + 'disabled': TfaConfiguration._disabled_validator, + 'enabled': TfaConfiguration._enabled_validator, + 'sms': TfaConfiguration._sms_validator, + 'authenticator': TfaConfiguration._authenticator_validator, + 'other': TfaConfiguration._other_validator, +} + +TfaConfiguration.disabled = TfaConfiguration('disabled') +TfaConfiguration.enabled = TfaConfiguration('enabled') +TfaConfiguration.sms = TfaConfiguration('sms') +TfaConfiguration.authenticator = TfaConfiguration('authenticator') +TfaConfiguration.other = TfaConfiguration('other') + +TfaRemoveBackupPhoneDetails._all_field_names_ = set([]) +TfaRemoveBackupPhoneDetails._all_fields_ = [] + +TfaRemoveSecurityKeyDetails._all_field_names_ = set([]) +TfaRemoveSecurityKeyDetails._all_fields_ = [] + +TfaResetDetails._all_field_names_ = set([]) +TfaResetDetails._all_fields_ = [] + +TwoAccountChangePolicyDetails._new_value_validator = EnableDisableChangePolicy_validator +TwoAccountChangePolicyDetails._previous_value_validator = bv.Nullable(EnableDisableChangePolicy_validator) +TwoAccountChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +TwoAccountChangePolicyDetails._all_fields_ = [ + ('new_value', TwoAccountChangePolicyDetails._new_value_validator), + ('previous_value', TwoAccountChangePolicyDetails._previous_value_validator), +] + +UserLinkedAppLogInfo._field_names_ = set([]) +UserLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(UserLinkedAppLogInfo._field_names_) +UserLinkedAppLogInfo._fields_ = [] +UserLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserLinkedAppLogInfo._fields_ + +UserNameLogInfo._given_name_validator = bv.String() +UserNameLogInfo._surname_validator = bv.String() +UserNameLogInfo._locale_validator = bv.Nullable(bv.String()) +UserNameLogInfo._all_field_names_ = set([ + 'given_name', + 'surname', + 'locale', +]) +UserNameLogInfo._all_fields_ = [ + ('given_name', UserNameLogInfo._given_name_validator), + ('surname', UserNameLogInfo._surname_validator), + ('locale', UserNameLogInfo._locale_validator), +] + +UserOrTeamLinkedAppLogInfo._field_names_ = set([]) +UserOrTeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(UserOrTeamLinkedAppLogInfo._field_names_) +UserOrTeamLinkedAppLogInfo._fields_ = [] +UserOrTeamLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserOrTeamLinkedAppLogInfo._fields_ + +WebSessionLogInfo._field_names_ = set([]) +WebSessionLogInfo._all_field_names_ = SessionLogInfo._all_field_names_.union(WebSessionLogInfo._field_names_) +WebSessionLogInfo._fields_ = [] +WebSessionLogInfo._all_fields_ = SessionLogInfo._all_fields_ + WebSessionLogInfo._fields_ + +WebSessionsChangeFixedLengthPolicyDetails._new_value_validator = SessionsManagementSessionLengthPolicy_validator +WebSessionsChangeFixedLengthPolicyDetails._previous_value_validator = SessionsManagementSessionLengthPolicy_validator +WebSessionsChangeFixedLengthPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +WebSessionsChangeFixedLengthPolicyDetails._all_fields_ = [ + ('new_value', WebSessionsChangeFixedLengthPolicyDetails._new_value_validator), + ('previous_value', WebSessionsChangeFixedLengthPolicyDetails._previous_value_validator), +] + +WebSessionsChangeIdleLengthPolicyDetails._new_value_validator = SessionsManagementIdleLengthPolicy_validator +WebSessionsChangeIdleLengthPolicyDetails._previous_value_validator = SessionsManagementIdleLengthPolicy_validator +WebSessionsChangeIdleLengthPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +WebSessionsChangeIdleLengthPolicyDetails._all_fields_ = [ + ('new_value', WebSessionsChangeIdleLengthPolicyDetails._new_value_validator), + ('previous_value', WebSessionsChangeIdleLengthPolicyDetails._previous_value_validator), +] + +get_events = bb.Route( + 'get_events', + False, + GetTeamEventsArg_validator, + GetTeamEventsResult_validator, + GetTeamEventsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +get_events_continue = bb.Route( + 'get_events/continue', + False, + GetTeamEventsContinueArg_validator, + GetTeamEventsResult_validator, + GetTeamEventsContinueError_validator, + {'host': u'api', + 'style': u'rpc'}, +) + +ROUTES = { + 'get_events': get_events, + 'get_events/continue': get_events_continue, +} + diff --git a/dropbox/team_policies.py b/dropbox/team_policies.py index 7b41cdd5..295d3af2 100644 --- a/dropbox/team_policies.py +++ b/dropbox/team_policies.py @@ -531,3 +531,4 @@ def __repr__(self): ROUTES = { } + diff --git a/dropbox/users.py b/dropbox/users.py index 29c24b1a..b427c861 100644 --- a/dropbox/users.py +++ b/dropbox/users.py @@ -18,9 +18,11 @@ try: from . import ( team_policies, + users_common, ) except (SystemError, ValueError): import team_policies + import users_common class Account(object): """ @@ -242,56 +244,6 @@ def __repr__(self): Account_validator = bv.Struct(Account) -class AccountType(bb.Union): - """ - What type of account this user has. - - This class acts as a tagged union. Only one of the ``is_*`` methods will - return true. To get the associated value of a tag (if one exists), use the - corresponding ``get_*`` method. - - :ivar basic: The basic account type. - :ivar pro: The Dropbox Pro account type. - :ivar business: The Dropbox Business account type. - """ - - _catch_all = None - # Attribute is overwritten below the class definition - basic = None - # Attribute is overwritten below the class definition - pro = None - # Attribute is overwritten below the class definition - business = None - - def is_basic(self): - """ - Check if the union tag is ``basic``. - - :rtype: bool - """ - return self._tag == 'basic' - - def is_pro(self): - """ - Check if the union tag is ``pro``. - - :rtype: bool - """ - return self._tag == 'pro' - - def is_business(self): - """ - Check if the union tag is ``business``. - - :rtype: bool - """ - return self._tag == 'business' - - def __repr__(self): - return 'AccountType(%r, %r)' % (self._tag, self._value) - -AccountType_validator = bv.Union(AccountType) - class BasicAccount(Account): """ Basic information about any account. @@ -647,7 +599,7 @@ def account_type(self): """ What type of account this user has. - :rtype: AccountType + :rtype: users_common.AccountType_validator """ if self._account_type_present: return self._account_type_value @@ -1512,9 +1464,8 @@ def __repr__(self): TeamSpaceAllocation_validator = bv.Struct(TeamSpaceAllocation) -AccountId_validator = bv.String(min_length=40, max_length=40) GetAccountBatchResult_validator = bv.List(BasicAccount_validator) -Account._account_id_validator = AccountId_validator +Account._account_id_validator = users_common.AccountId_validator Account._name_validator = Name_validator Account._email_validator = bv.String() Account._email_verified_validator = bv.Boolean() @@ -1537,19 +1488,6 @@ def __repr__(self): ('disabled', Account._disabled_validator), ] -AccountType._basic_validator = bv.Void() -AccountType._pro_validator = bv.Void() -AccountType._business_validator = bv.Void() -AccountType._tagmap = { - 'basic': AccountType._basic_validator, - 'pro': AccountType._pro_validator, - 'business': AccountType._business_validator, -} - -AccountType.basic = AccountType('basic') -AccountType.pro = AccountType('pro') -AccountType.business = AccountType('business') - BasicAccount._is_teammate_validator = bv.Boolean() BasicAccount._team_member_id_validator = bv.Nullable(bv.String()) BasicAccount._all_field_names_ = Account._all_field_names_.union(set([ @@ -1567,7 +1505,7 @@ def __repr__(self): FullAccount._team_validator = bv.Nullable(FullTeam_validator) FullAccount._team_member_id_validator = bv.Nullable(bv.String()) FullAccount._is_paired_validator = bv.Boolean() -FullAccount._account_type_validator = AccountType_validator +FullAccount._account_type_validator = users_common.AccountType_validator FullAccount._all_field_names_ = Account._all_field_names_.union(set([ 'country', 'locale', @@ -1602,15 +1540,15 @@ def __repr__(self): FullTeam._all_field_names_ = Team._all_field_names_.union(set(['sharing_policies'])) FullTeam._all_fields_ = Team._all_fields_ + [('sharing_policies', FullTeam._sharing_policies_validator)] -GetAccountArg._account_id_validator = AccountId_validator +GetAccountArg._account_id_validator = users_common.AccountId_validator GetAccountArg._all_field_names_ = set(['account_id']) GetAccountArg._all_fields_ = [('account_id', GetAccountArg._account_id_validator)] -GetAccountBatchArg._account_ids_validator = bv.List(AccountId_validator, min_items=1) +GetAccountBatchArg._account_ids_validator = bv.List(users_common.AccountId_validator, min_items=1) GetAccountBatchArg._all_field_names_ = set(['account_ids']) GetAccountBatchArg._all_fields_ = [('account_ids', GetAccountBatchArg._account_ids_validator)] -GetAccountBatchError._no_account_validator = AccountId_validator +GetAccountBatchError._no_account_validator = users_common.AccountId_validator GetAccountBatchError._other_validator = bv.Void() GetAccountBatchError._tagmap = { 'no_account': GetAccountBatchError._no_account_validator, @@ -1729,3 +1667,4 @@ def __repr__(self): 'get_current_account': get_current_account, 'get_space_usage': get_space_usage, } + diff --git a/dropbox/users_common.py b/dropbox/users_common.py new file mode 100644 index 00000000..fff9c78b --- /dev/null +++ b/dropbox/users_common.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# Auto-generated by Stone, do not modify. +# flake8: noqa +# pylint: skip-file +""" +This namespace contains common data types used within the users namespace +""" + +try: + from . import stone_validators as bv + from . import stone_base as bb +except (SystemError, ValueError): + # Catch errors raised when importing a relative module when not in a package. + # This makes testing this file directly (outside of a package) easier. + import stone_validators as bv + import stone_base as bb + +class AccountType(bb.Union): + """ + What type of account this user has. + + This class acts as a tagged union. Only one of the ``is_*`` methods will + return true. To get the associated value of a tag (if one exists), use the + corresponding ``get_*`` method. + + :ivar basic: The basic account type. + :ivar pro: The Dropbox Pro account type. + :ivar business: The Dropbox Business account type. + """ + + _catch_all = None + # Attribute is overwritten below the class definition + basic = None + # Attribute is overwritten below the class definition + pro = None + # Attribute is overwritten below the class definition + business = None + + def is_basic(self): + """ + Check if the union tag is ``basic``. + + :rtype: bool + """ + return self._tag == 'basic' + + def is_pro(self): + """ + Check if the union tag is ``pro``. + + :rtype: bool + """ + return self._tag == 'pro' + + def is_business(self): + """ + Check if the union tag is ``business``. + + :rtype: bool + """ + return self._tag == 'business' + + def __repr__(self): + return 'AccountType(%r, %r)' % (self._tag, self._value) + +AccountType_validator = bv.Union(AccountType) + +AccountId_validator = bv.String(min_length=40, max_length=40) +AccountType._basic_validator = bv.Void() +AccountType._pro_validator = bv.Void() +AccountType._business_validator = bv.Void() +AccountType._tagmap = { + 'basic': AccountType._basic_validator, + 'pro': AccountType._pro_validator, + 'business': AccountType._business_validator, +} + +AccountType.basic = AccountType('basic') +AccountType.pro = AccountType('pro') +AccountType.business = AccountType('business') + +ROUTES = { +} + diff --git a/spec b/spec index 4483042b..d407fe71 160000 --- a/spec +++ b/spec @@ -1 +1 @@ -Subproject commit 4483042b0016788742a1c4233a56e163e65b3121 +Subproject commit d407fe71a0246158c89c94e307d4f2effd55a273 diff --git a/stone b/stone index 0f26a985..cafc3b3e 160000 --- a/stone +++ b/stone @@ -1 +1 @@ -Subproject commit 0f26a985a0db7523a79a71ebde53d7aca60d0681 +Subproject commit cafc3b3ee6cb2aa6f9f7c167ae3cf31e06060169